[gtk+] GdkWin32: Avoid Using Deprecated API



commit ae79dd70681863cc3b5164bc216ae1603a7a487d
Author: Chun-wei Fan <fanchunwei src gnome org>
Date:   Tue Jul 30 11:06:57 2013 +0800

    GdkWin32: Avoid Using Deprecated API
    
    Update the Win32 GDK backend to not use the deprecated GDK APIs.
    
    https://bugzilla.gnome.org/show_bug.cgi?id=705068

 gdk/win32/gdkdevice-win32.c        |    2 +-
 gdk/win32/gdkdevicemanager-win32.c |    4 +++-
 gdk/win32/gdkevents-win32.c        |   31 ++++++++++++-------------------
 gdk/win32/gdkwindow-win32.c        |    4 ++--
 4 files changed, 18 insertions(+), 23 deletions(-)
---
diff --git a/gdk/win32/gdkdevice-win32.c b/gdk/win32/gdkdevice-win32.c
index 36f0107..53a5daf 100644
--- a/gdk/win32/gdkdevice-win32.c
+++ b/gdk/win32/gdkdevice-win32.c
@@ -119,7 +119,7 @@ gdk_device_win32_get_state (GdkDevice       *device,
 {
   gint x_int, y_int;
 
-  gdk_window_get_pointer (window, &x_int, &y_int, mask);
+  gdk_window_get_device_position (window, device, &x_int, &y_int, mask);
 
   if (axes)
     {
diff --git a/gdk/win32/gdkdevicemanager-win32.c b/gdk/win32/gdkdevicemanager-win32.c
index 4d26b24..fa064bb 100644
--- a/gdk/win32/gdkdevicemanager-win32.c
+++ b/gdk/win32/gdkdevicemanager-win32.c
@@ -885,6 +885,7 @@ _gdk_input_other_event (GdkEvent  *event,
   GdkDisplay *display;
   GdkDeviceWintab *source_device = NULL;
   GdkDeviceGrabInfo *last_grab;
+  GdkDevice *device = NULL;
   GdkEventMask masktest;
   guint key_state;
   POINT pt;
@@ -907,7 +908,8 @@ _gdk_input_other_event (GdkEvent  *event,
 
   device_manager = GDK_DEVICE_MANAGER_WIN32 (gdk_display_get_device_manager (_gdk_display));
 
-  window = gdk_window_at_pointer (&x, &y);
+  device = gdk_event_get_device (event);
+  window = gdk_device_get_window_at_position (device, &x, &y);
   if (window == NULL)
     window = _gdk_root;
 
diff --git a/gdk/win32/gdkevents-win32.c b/gdk/win32/gdkevents-win32.c
index afa2074..31eb512 100644
--- a/gdk/win32/gdkevents-win32.c
+++ b/gdk/win32/gdkevents-win32.c
@@ -2713,17 +2713,13 @@ gdk_event_translate (MSG  *msg,
       /* Break grabs on unmap or minimize */
       if (windowpos->flags & SWP_HIDEWINDOW || 
          ((windowpos->flags & SWP_STATECHANGED) && IsIconic (msg->hwnd)))
-       {
-         if (pointer_grab != NULL)
-           {
-             if (pointer_grab->window == window)
-               gdk_pointer_ungrab (msg->time);
-           }
+      {
+        GdkDevice *device = gdk_device_manager_get_client_pointer (device_manager);
 
-         if (keyboard_grab != NULL &&
-             keyboard_grab->window == window)
-           gdk_keyboard_ungrab (msg->time);
-       }
+        if ((pointer_grab != NULL && pointer_grab->window == window) ||
+            (keyboard_grab != NULL && keyboard_grab->window == window))
+          gdk_device_ungrab (device, msg -> time);
+    }
 
       /* Send MAP events  */
       if ((windowpos->flags & SWP_SHOWWINDOW) &&
@@ -3115,15 +3111,12 @@ gdk_event_translate (MSG  *msg,
       break;
 
     case WM_NCDESTROY:
-      if (pointer_grab != NULL)
-       {
-         if (pointer_grab->window == window)
-           gdk_pointer_ungrab (msg->time);
-       }
-
-      if (keyboard_grab &&
-          keyboard_grab->window == window)
-       gdk_keyboard_ungrab (msg->time);
+      if ((pointer_grab != NULL && pointer_grab -> window == window) ||
+          (keyboard_grab && keyboard_grab -> window == window))
+      {
+        GdkDevice *device = gdk_device_manager_get_client_pointer (device_manager);
+        gdk_device_ungrab (device, msg -> time);
+      }
 
       if ((window != NULL) && (msg->hwnd != GetDesktopWindow ()))
        gdk_window_destroy_notify (window);
diff --git a/gdk/win32/gdkwindow-win32.c b/gdk/win32/gdkwindow-win32.c
index 273e53c..bf32dbe 100644
--- a/gdk/win32/gdkwindow-win32.c
+++ b/gdk/win32/gdkwindow-win32.c
@@ -2655,7 +2655,7 @@ gdk_win32_window_begin_resize_drag (GdkWindow     *window,
   /* Must break the automatic grab that occured when the button was
    * pressed, otherwise it won't work.
    */
-  gdk_display_pointer_ungrab (_gdk_display, 0);
+  gdk_device_ungrab (device, 0);
 
   switch (edge)
     {
@@ -2722,7 +2722,7 @@ gdk_win32_window_begin_move_drag (GdkWindow *window,
   /* Must break the automatic grab that occured when the button was pressed,
    * otherwise it won't work.
    */
-  gdk_display_pointer_ungrab (_gdk_display, 0);
+  gdk_device_ungrab (device, 0);
 
   DefWindowProcW (GDK_WINDOW_HWND (window), WM_NCLBUTTONDOWN, HTCAPTION,
                  MAKELPARAM (root_x - _gdk_offset_x, root_y - _gdk_offset_y));


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