[gtk+/multitouch: 103/123] gtk,range: Don't perform a GTK+ grab



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

    gtk,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 don't spare the 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 627d3f3..707c7ce 100644
--- a/gtk/gtkrange.c
+++ b/gtk/gtkrange.c
@@ -2340,15 +2340,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]