From 21e3642a2ca2ca4cd5c35b484eefdc3a4e36fd5e Mon Sep 17 00:00:00 2001 From: Dan Walmsley Date: Wed, 20 May 2020 11:42:33 -0300 Subject: [PATCH] encapsulate and cache os version. --- src/Windows/Avalonia.Win32/Win32Platform.cs | 5 +++++ src/Windows/Avalonia.Win32/WindowImpl.cs | 5 ++--- 2 files changed, 7 insertions(+), 3 deletions(-) diff --git a/src/Windows/Avalonia.Win32/Win32Platform.cs b/src/Windows/Avalonia.Win32/Win32Platform.cs index c01bc8e16d..e25c5e4733 100644 --- a/src/Windows/Avalonia.Win32/Win32Platform.cs +++ b/src/Windows/Avalonia.Win32/Win32Platform.cs @@ -58,6 +58,11 @@ namespace Avalonia.Win32 CreateMessageWindow(); } + /// + /// Gets the actual WindowsVersion. Same as the info returned from RtlGetVersion. + /// + public static Version WindowsVersion { get; } = RtlGetVersion(); + public static bool UseDeferredRendering => Options.UseDeferredRendering; internal static bool UseOverlayPopups => Options.OverlayPopups; public static Win32PlatformOptions Options { get; private set; } diff --git a/src/Windows/Avalonia.Win32/WindowImpl.cs b/src/Windows/Avalonia.Win32/WindowImpl.cs index 005df2b99b..105823d206 100644 --- a/src/Windows/Avalonia.Win32/WindowImpl.cs +++ b/src/Windows/Avalonia.Win32/WindowImpl.cs @@ -227,15 +227,14 @@ namespace Avalonia.Win32 private WindowTransparencyLevel EnableBlur(WindowTransparencyLevel transparencyLevel) { - var version = RtlGetVersion(); bool canUseTransparency = false; bool canUseAcrylic = false; - if (version.Major >= 10) + if (Win32Platform.WindowsVersion.Major >= 10) { canUseTransparency = true; - if (version.Build >= 19628) + if (Win32Platform.WindowsVersion.Build >= 19628) { canUseAcrylic = true; }