[gtk+] win32: Fix up initialization order of input subsystem



commit ade6d093e20336ef3c7a08236a4253929a2c26aa
Author: Alexander Larsson <alexl redhat com>
Date:   Mon Nov 7 16:48:29 2011 +0100

    win32: Fix up initialization order of input subsystem
    
    We were getting warnings due to windows being created before input
    subsystems were fully initialized.

 gdk/win32/gdkdevicemanager-win32.c |    7 +++----
 gdk/win32/gdkinput.c               |    3 +++
 gdk/win32/gdkprivate-win32.h       |    1 +
 3 files changed, 7 insertions(+), 4 deletions(-)
---
diff --git a/gdk/win32/gdkdevicemanager-win32.c b/gdk/win32/gdkdevicemanager-win32.c
index 19ae866..0cb1caa 100644
--- a/gdk/win32/gdkdevicemanager-win32.c
+++ b/gdk/win32/gdkdevicemanager-win32.c
@@ -360,9 +360,10 @@ print_cursor (int index)
 }
 #endif
 
-static void
-_gdk_input_wintab_init_check (GdkDeviceManagerWin32 *device_manager)
+void
+_gdk_input_wintab_init_check (GdkDeviceManager *_device_manager)
 {
+  GdkDeviceManagerWin32 *device_manager = (GdkDeviceManagerWin32 *)_device_manager;
   static gboolean wintab_initialized = FALSE;
   GdkDeviceWintab *device;
   GdkWindowAttr wa;
@@ -690,8 +691,6 @@ gdk_device_manager_win32_constructed (GObject *object)
 
   _gdk_device_set_associated_device (device_manager->core_pointer, device_manager->core_keyboard);
   _gdk_device_set_associated_device (device_manager->core_keyboard, device_manager->core_pointer);
-
-  _gdk_input_wintab_init_check (device_manager);
 }
 
 static GList *
diff --git a/gdk/win32/gdkinput.c b/gdk/win32/gdkinput.c
index 64e461d..53028eb 100644
--- a/gdk/win32/gdkinput.c
+++ b/gdk/win32/gdkinput.c
@@ -121,4 +121,7 @@ _gdk_input_init (GdkDisplay *display)
   _gdk_input_devices = g_list_append (NULL, display->core_pointer);
   _gdk_input_devices = g_list_concat (_gdk_input_devices,
                                       g_list_copy (device_manager->wintab_devices));
+
+  _gdk_input_wintab_init_check (device_manager);
+
 }
diff --git a/gdk/win32/gdkprivate-win32.h b/gdk/win32/gdkprivate-win32.h
index 2f320f1..0bfcd3f 100644
--- a/gdk/win32/gdkprivate-win32.h
+++ b/gdk/win32/gdkprivate-win32.h
@@ -504,5 +504,6 @@ void _gdk_visual_init (void);
 void _gdk_dnd_init    (void);
 void _gdk_events_init (void);
 void _gdk_input_init  (GdkDisplay *display);
+void _gdk_input_wintab_init_check (GdkDeviceManager *device_manager);
 
 #endif /* __GDK_PRIVATE_WIN32_H__ */



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