[gnome-panel/gtk3] Fix use of pending deprecated gdk_pointer_grab()/_ungrab()



commit eff5d569c162d508f996678f0d1ea8647c1b810d
Author: Germán Póo-Caamaño <gpoo gnome org>
Date:   Sat Jan 8 01:09:06 2011 -0800

    Fix use of pending deprecated gdk_pointer_grab()/_ungrab()
    
    Replaced gdk_pointer_grab() and gdk_pointer_ungrab()
    by gdk_device_grab() and gdk_device_ungrab(), respectively.
    
    https://bugzilla.gnome.org/show_bug.cgi?id=627455
    
    Wanda: Fixing a mistake!? If I were ported to gtk3...
    
    Signed-off-by: Germán Póo-Caamaño <gpoo gnome org>

 gnome-panel/menu.c |   27 +++++++++++++++++++++------
 1 files changed, 21 insertions(+), 6 deletions(-)
---
diff --git a/gnome-panel/menu.c b/gnome-panel/menu.c
index 569ed02..da8bb52 100644
--- a/gnome-panel/menu.c
+++ b/gnome-panel/menu.c
@@ -1057,21 +1057,36 @@ drag_end_menu_cb (GtkWidget *widget, GdkDragContext     *context)
   
   if (xgrab_shell && !gtk_menu_get_tearoff_state (GTK_MENU(xgrab_shell)))
     {
+      gboolean      status;
+      GdkDisplay    *display;
+      GdkDevice     *pointer;
+      GdkDeviceManager *device_manager;
       GdkWindow *window = gtk_widget_get_window (xgrab_shell);
       GdkCursor *cursor = gdk_cursor_new (GDK_ARROW);
 
-      if ((gdk_pointer_grab (window, TRUE,
-			     GDK_BUTTON_PRESS_MASK | GDK_BUTTON_RELEASE_MASK |
-			     GDK_ENTER_NOTIFY_MASK | GDK_LEAVE_NOTIFY_MASK |
-			     GDK_POINTER_MOTION_MASK,
-			     NULL, cursor, GDK_CURRENT_TIME) == 0))
+      display = gdk_window_get_display (window);
+      device_manager = gdk_display_get_device_manager (display);
+      pointer = gdk_device_manager_get_client_pointer (device_manager);
+
+      /* FIXMEgpoo: Not sure if report to GDK_OWNERSHIP_WINDOW
+	            or GDK_OWNERSHIP_APPLICATION */
+      status = gdk_device_grab (pointer, window,
+                                GDK_OWNERSHIP_WINDOW, TRUE,
+                                GDK_BUTTON_PRESS_MASK
+                                | GDK_BUTTON_RELEASE_MASK
+                                | GDK_ENTER_NOTIFY_MASK
+                                | GDK_LEAVE_NOTIFY_MASK
+                                | GDK_POINTER_MOTION_MASK,
+                                cursor, GDK_CURRENT_TIME);
+
+      if (!status)
 	{
 	  if (gdk_keyboard_grab (window, TRUE,
 				 GDK_CURRENT_TIME) == 0)
 	    GTK_MENU_SHELL (xgrab_shell)->GSEAL(have_xgrab) = TRUE;
 	  else
 	    {
-	      gdk_pointer_ungrab (GDK_CURRENT_TIME);
+	      gdk_device_ungrab (pointer, GDK_CURRENT_TIME);
 	    }
 	}
 



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