GdkWin32: Remove _gdk_display_hdc global variable
authorLuca Bacci <luca.bacci982@gmail.com>
Tue, 30 May 2023 17:52:13 +0000 (19:52 +0200)
committerLuca Bacci <luca.bacci982@gmail.com>
Wed, 31 May 2023 10:15:57 +0000 (12:15 +0200)
gdk/win32/gdkglobals-win32.c
gdk/win32/gdkmain-win32.c
gdk/win32/gdkprivate-win32.h
gdk/win32/gdkproperty-win32.c

index 63b6118ef54b29e6e33268253c5cc6a9d22ea65a..50d4770d1b85e79372ac648c4c342ad1c291d17f 100644 (file)
@@ -30,8 +30,6 @@
 GdkDisplay      *_gdk_display = NULL;
 GdkDeviceManagerWin32 *_gdk_device_manager = NULL;
 
-HDC              _gdk_display_hdc;
-
 int              _gdk_input_ignore_core;
 
 HKL              _gdk_input_locale;
index 7356193500af187b04d7e02a7206dee9e314a354..c84a41bdfccbf3bbb8b92f2cf5a448d5dc3f280c 100644 (file)
@@ -63,7 +63,6 @@ _gdk_win32_surfaceing_init (void)
   if (gdk_synchronize)
     GdiSetBatchLimit (1);
 
-  _gdk_display_hdc = CreateDC ("DISPLAY", NULL, NULL, NULL);
   _gdk_input_locale = GetKeyboardLayout (0);
   _gdk_win32_keymap_set_active_layout (win32_keymap, _gdk_input_locale);
 
index 77070fd37b893a0837924e8ad8e1366df3df785d..777c496bf49f2985787c7cc16845751cdc99f7df 100644 (file)
@@ -266,8 +266,6 @@ extern GdkDisplay       *_gdk_display;
 
 extern GdkDeviceManagerWin32 *_gdk_device_manager;
 
-extern HDC               _gdk_display_hdc;
-
 extern int               _gdk_input_ignore_core;
 
 /* These are thread specific, but GDK/win32 works OK only when invoked
index 0b0b51d5f14d87aa10ca891cab827c791d1c8798..c92853e70b10c6f1424c6b09159ba6daf9d6ffdd 100644 (file)
@@ -113,7 +113,15 @@ _gdk_win32_get_setting (const char *name,
     }
   else if (strcmp ("gtk-font-name", name) == 0)
     {
-      char *font_name = _get_system_font_name (_gdk_display_hdc);
+      char *font_name = NULL;
+      HDC hdc = NULL;
+
+      if ((hdc = GetDC (HWND_DESKTOP)) != NULL)
+        {
+          font_name = _get_system_font_name (hdc);
+          ReleaseDC (HWND_DESKTOP, hdc);
+          hdc = NULL;
+        }
 
       if (font_name)
         {