[gtk+/master.fcw: 327/648] Revert "gdkcursor-win32.c: Simplify OS Version Check"



commit da48e56c72f29e260e750fff7af0cdba53adb20d
Author: Chun-wei Fan <fanchunwei src gnome org>
Date:   Tue Dec 23 15:47:05 2014 +0800

    Revert "gdkcursor-win32.c: Simplify OS Version Check"
    
    This reverts commit 76ed0681572a386c9f8c495e53a180bc5a019a15.

 gdk/win32/gdkcursor-win32.c |   17 ++++++++++++-----
 1 files changed, 12 insertions(+), 5 deletions(-)
---
diff --git a/gdk/win32/gdkcursor-win32.c b/gdk/win32/gdkcursor-win32.c
index e5e2c3b..28b2745 100644
--- a/gdk/win32/gdkcursor-win32.c
+++ b/gdk/win32/gdkcursor-win32.c
@@ -821,13 +821,20 @@ _gdk_win32_pixbuf_to_hcursor (GdkPixbuf *pixbuf,
 gboolean
 _gdk_win32_pixbuf_to_hicon_supports_alpha (void)
 {
-  static gboolean is_win_xp=FALSE;
-  static gsize is_win_xp_checked;
+  static gboolean is_win_xp=FALSE, is_win_xp_checked=FALSE;
 
-  if (g_once_init_enter (&is_win_xp_checked))
+  if (!is_win_xp_checked)
     {
-      is_win_xp = _gdk_win32_check_os_version (5, 1);
-      g_once_init_leave (&is_win_xp_checked, 1);
+      OSVERSIONINFO version;
+
+      is_win_xp_checked = TRUE;
+
+      memset (&version, 0, sizeof (version));
+      version.dwOSVersionInfoSize = sizeof (version);
+      is_win_xp = GetVersionEx (&version)
+       && version.dwPlatformId == VER_PLATFORM_WIN32_NT
+       && (version.dwMajorVersion > 5
+           || (version.dwMajorVersion == 5 && version.dwMinorVersion >= 1));
     }
   return is_win_xp;
 }


[Date Prev][Date Next]   [Thread Prev][Thread Next]   [Thread Index] [Date Index] [Author Index]