Commit ab248d7c authored by Javier Jardón's avatar Javier Jardón
Browse files

Revert "gtk/gtkmain.c: Use accessor functions to access GtkWindowGroup"

This reverts commit 65b9fc3e.
parent 65b9fc3e
...@@ -1606,8 +1606,8 @@ gtk_main_do_event (GdkEvent *event) ...@@ -1606,8 +1606,8 @@ gtk_main_do_event (GdkEvent *event)
if (device) if (device)
grab_widget = gtk_window_group_get_current_device_grab (window_group, device); grab_widget = gtk_window_group_get_current_device_grab (window_group, device);
if (!grab_widget) if (!grab_widget && window_group->grabs)
grab_widget = gtk_window_group_get_current_grab (window_group); grab_widget = window_group->grabs->data;
/* If the grab widget is an ancestor of the event widget /* If the grab widget is an ancestor of the event widget
* then we send the event to the original event widget. * then we send the event to the original event widget.
...@@ -1650,8 +1650,7 @@ gtk_main_do_event (GdkEvent *event) ...@@ -1650,8 +1650,7 @@ gtk_main_do_event (GdkEvent *event)
case GDK_DELETE: case GDK_DELETE:
g_object_ref (event_widget); g_object_ref (event_widget);
grab_widget = gtk_window_group_get_current_grab (window_group); if ((!window_group->grabs || gtk_widget_get_toplevel (window_group->grabs->data) == event_widget) &&
if ((!grab_widget || gtk_widget_get_toplevel (grab_widget) == event_widget) &&
!gtk_widget_event (event_widget, event)) !gtk_widget_event (event_widget, event))
gtk_widget_destroy (event_widget); gtk_widget_destroy (event_widget);
g_object_unref (event_widget); g_object_unref (event_widget);
...@@ -2014,10 +2013,13 @@ gtk_grab_add (GtkWidget *widget) ...@@ -2014,10 +2013,13 @@ gtk_grab_add (GtkWidget *widget)
group = gtk_main_get_window_group (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); 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); gtk_grab_notify (group, NULL, old_grab_widget, widget, TRUE);
} }
...@@ -2030,7 +2032,9 @@ gtk_grab_get_current (void) ...@@ -2030,7 +2032,9 @@ gtk_grab_get_current (void)
group = gtk_main_get_window_group (NULL); 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 void
...@@ -2046,9 +2050,12 @@ gtk_grab_remove (GtkWidget *widget) ...@@ -2046,9 +2050,12 @@ gtk_grab_remove (GtkWidget *widget)
_gtk_widget_set_has_grab (widget, FALSE); _gtk_widget_set_has_grab (widget, FALSE);
group = gtk_main_get_window_group (widget); group = gtk_main_get_window_group (widget);
//group->grabs = g_slist_remove (group->grabs, widget); group->grabs = g_slist_remove (group->grabs, widget);
new_grab_widget = gtk_window_group_get_current_grab (group); 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); gtk_grab_notify (group, NULL, widget, new_grab_widget, FALSE);
......
Markdown is supported
0% or .
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment