[gtk+] range: Don't perform a GTK+ grab



commit 170b391e74efd2983320f342c63f563d1a16176e
Author: Carlos Garnacho <carlosg gnome org>
Date:   Thu Jan 5 00:27:57 2012 +0100

    range: Don't perform a GTK+ grab
    
    The implicit grab on priv->event_window already warrants that this
    widget is the only one getting events while the button is pressed,
    so avoid the extra GTK+ grab here.

 gtk/gtkrange.c |   14 +++++---------
 1 files changed, 5 insertions(+), 9 deletions(-)
---
diff --git a/gtk/gtkrange.c b/gtk/gtkrange.c
index 0d32f0b..445e6fe 100644
--- a/gtk/gtkrange.c
+++ b/gtk/gtkrange.c
@@ -2347,15 +2347,11 @@ range_grab_add (GtkRange      *range,
   if (device == priv->grab_device)
     return;
 
-  if (priv->grab_device != NULL)
-    {
-      g_warning ("GtkRange already had a grab device, releasing device grab");
-      gtk_device_grab_remove (GTK_WIDGET (range), priv->grab_device);
-    }
-
-  /* we don't actually gdk_grab, since a button is down */
-  gtk_device_grab_add (GTK_WIDGET (range), device, TRUE);
-
+  /* Don't perform any GDK/GTK+ grab here. Since a button
+   * is down, there's an ongoing implicit grab on
+   * priv->event_window, which pretty much guarantees this
+   * is the only widget receiving the pointer events.
+   */
   priv->grab_location = location;
   priv->grab_button = button;
   priv->grab_device = device;



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