[gtk+] range: Don't perform a GTK+ grab
- From: Matthias Clasen <matthiasc src gnome org>
- To: commits-list gnome org
- Cc:
- Subject: [gtk+] range: Don't perform a GTK+ grab
- Date: Thu, 23 Feb 2012 21:47:41 +0000 (UTC)
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]