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);
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);
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
# 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);