mirror of
https://gitlab.gnome.org/GNOME/gtk.git
synced 2024-11-19 18:00:09 +00:00
Revert "gtk/gtkmain.c: Use accessor functions to access GtkWindowGroup"
This reverts commit 65b9fc3e5b
.
This commit is contained in:
parent
65b9fc3e5b
commit
ab248d7ca3
@ -1606,8 +1606,8 @@ gtk_main_do_event (GdkEvent *event)
|
||||
if (device)
|
||||
grab_widget = gtk_window_group_get_current_device_grab (window_group, device);
|
||||
|
||||
if (!grab_widget)
|
||||
grab_widget = gtk_window_group_get_current_grab (window_group);
|
||||
if (!grab_widget && window_group->grabs)
|
||||
grab_widget = window_group->grabs->data;
|
||||
|
||||
/* If the grab widget is an ancestor of the event widget
|
||||
* then we send the event to the original event widget.
|
||||
@ -1650,8 +1650,7 @@ gtk_main_do_event (GdkEvent *event)
|
||||
|
||||
case GDK_DELETE:
|
||||
g_object_ref (event_widget);
|
||||
grab_widget = gtk_window_group_get_current_grab (window_group);
|
||||
if ((!grab_widget || gtk_widget_get_toplevel (grab_widget) == event_widget) &&
|
||||
if ((!window_group->grabs || gtk_widget_get_toplevel (window_group->grabs->data) == event_widget) &&
|
||||
!gtk_widget_event (event_widget, event))
|
||||
gtk_widget_destroy (event_widget);
|
||||
g_object_unref (event_widget);
|
||||
@ -2014,10 +2013,13 @@ gtk_grab_add (GtkWidget *widget)
|
||||
|
||||
group = gtk_main_get_window_group (widget);
|
||||
|
||||
old_grab_widget = gtk_window_group_get_current_grab (group);
|
||||
if (group->grabs)
|
||||
old_grab_widget = (GtkWidget *)group->grabs->data;
|
||||
else
|
||||
old_grab_widget = NULL;
|
||||
|
||||
g_object_ref (widget);
|
||||
//group->grabs = g_slist_prepend (group->grabs, widget);
|
||||
group->grabs = g_slist_prepend (group->grabs, widget);
|
||||
|
||||
gtk_grab_notify (group, NULL, old_grab_widget, widget, TRUE);
|
||||
}
|
||||
@ -2030,7 +2032,9 @@ gtk_grab_get_current (void)
|
||||
|
||||
group = gtk_main_get_window_group (NULL);
|
||||
|
||||
return gtk_window_group_get_current_grab (group);
|
||||
if (group->grabs)
|
||||
return GTK_WIDGET (group->grabs->data);
|
||||
return NULL;
|
||||
}
|
||||
|
||||
void
|
||||
@ -2046,9 +2050,12 @@ gtk_grab_remove (GtkWidget *widget)
|
||||
_gtk_widget_set_has_grab (widget, FALSE);
|
||||
|
||||
group = gtk_main_get_window_group (widget);
|
||||
//group->grabs = g_slist_remove (group->grabs, widget);
|
||||
|
||||
new_grab_widget = gtk_window_group_get_current_grab (group);
|
||||
group->grabs = g_slist_remove (group->grabs, widget);
|
||||
|
||||
if (group->grabs)
|
||||
new_grab_widget = (GtkWidget *)group->grabs->data;
|
||||
else
|
||||
new_grab_widget = NULL;
|
||||
|
||||
gtk_grab_notify (group, NULL, widget, new_grab_widget, FALSE);
|
||||
|
||||
|
Loading…
Reference in New Issue
Block a user