[gtk+/multitouch: 103/129] gtk,range: Don't perform a GTK+ grab
- From: Carlos Garnacho <carlosg src gnome org>
- To: commits-list gnome org
- Cc:
- Subject: [gtk+/multitouch: 103/129] gtk,range: Don't perform a GTK+ grab
- Date: Sat, 18 Feb 2012 17:15:00 +0000 (UTC)
commit 33790437ce2596d4c43d36ce4895864d6291bd02
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 d76da5d..e68e7a5 100644
--- a/gtk/gtkrange.c
+++ b/gtk/gtkrange.c
@@ -2343,15 +2343,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]