]> Pileus Git - ~andy/gtk/commitdiff
Don't use GTK_WIDGET_*SET_FLAGS (wid, GTK_HAS_GRAB)
authorJavier Jardón <jjardon@gnome.org>
Sun, 11 Apr 2010 21:19:42 +0000 (23:19 +0200)
committerJavier Jardón <jjardon@gnome.org>
Mon, 26 Apr 2010 19:04:51 +0000 (21:04 +0200)
Introduce internal _gtk_widget_set_has_grab() for this

Fixes https://bugzilla.gnome.org/show_bug.cgi?id=614513

gtk/gtkmain.c
gtk/gtkwidget.c
gtk/gtkwidget.h

index 641e19b422e30731fb84c7edf56847701c8f11d5..f01f68c0ed79c2da9b380699a9264cc6e05bf3d0 100644 (file)
@@ -1829,7 +1829,7 @@ gtk_grab_add (GtkWidget *widget)
   
   if (!gtk_widget_has_grab (widget) && gtk_widget_is_sensitive (widget))
     {
-      GTK_WIDGET_SET_FLAGS (widget, GTK_HAS_GRAB);
+      _gtk_widget_set_has_grab (widget, TRUE);
       
       group = gtk_main_get_window_group (widget);
 
@@ -1867,7 +1867,7 @@ gtk_grab_remove (GtkWidget *widget)
   
   if (gtk_widget_has_grab (widget))
     {
-      GTK_WIDGET_UNSET_FLAGS (widget, GTK_HAS_GRAB);
+      _gtk_widget_set_has_grab (widget, FALSE);
 
       group = gtk_main_get_window_group (widget);
       group->grabs = g_slist_remove (group->grabs, widget);
index de85182ad57c70d409e1458e766317d236675e04..61c6b1c9459d75c86e99ff87fc9606cff21d6375 100644 (file)
@@ -5714,6 +5714,16 @@ gtk_widget_has_grab (GtkWidget *widget)
   return (GTK_OBJECT_FLAGS (widget) & GTK_HAS_GRAB) != 0;
 }
 
+void
+_gtk_widget_set_has_grab (GtkWidget *widget,
+                          gboolean   has_grab)
+{
+  if (has_grab)
+    GTK_OBJECT_FLAGS (widget) |= GTK_HAS_GRAB;
+  else
+    GTK_OBJECT_FLAGS (widget) &= ~(GTK_HAS_GRAB);
+}
+
 /**
  * gtk_widget_set_name:
  * @widget: a #GtkWidget
index bf7c3422858bad07cb326b87a6c8bc64c12379a5..dd8eb316d88bb467a226336c94ff4e647e3c8a27 100644 (file)
@@ -1296,6 +1296,8 @@ void            gtk_requisition_free     (GtkRequisition       *requisition);
 #  define gtk_widget_unref g_object_unref
 #endif /* GTK_TRACE_OBJECTS && __GNUC__ */
 
+void              _gtk_widget_set_has_grab                (GtkWidget    *widget,
+                                                           gboolean      has_grab);
 void              _gtk_widget_grab_notify                 (GtkWidget    *widget,
                                                           gboolean     was_grabbed);