diff --git a/HeliosDisplayManagement/DisplayRepresentation.cs b/HeliosDisplayManagement/DisplayRepresentation.cs index 8b307a5..6640b6b 100644 --- a/HeliosDisplayManagement/DisplayRepresentation.cs +++ b/HeliosDisplayManagement/DisplayRepresentation.cs @@ -24,10 +24,6 @@ public DisplayRepresentation(Display display) IsAvailable = display.IsAvailable; - if (IsAvailable) - { - PossibleSettings = GetDisplay()?.GetPossibleSettings()?.ToArray() ?? new DisplayPossibleSetting[0]; - } } public DisplayRepresentation(PathTarget display) @@ -36,17 +32,26 @@ public DisplayRepresentation(PathTarget display) Path = display.DevicePath; IsAvailable = GetDisplay()?.IsAvailable ?? false; - if (IsAvailable) - { - PossibleSettings = GetDisplay()?.GetPossibleSettings()?.ToArray() ?? new DisplayPossibleSetting[0]; - } } public bool IsAvailable { get; } public string Name { get; } public string Path { get; } - public DisplayPossibleSetting[] PossibleSettings { get; } + public DisplayPossibleSetting[] PossibleSettings + { + get + { + if (IsAvailable) + { + return GetDisplay()?.GetPossibleSettings()?.ToArray() ?? new DisplayPossibleSetting[0]; + } + else + { + return null; + } + } + } public static IEnumerable GetDisplays(Profile profile = null) {