forked from AuroraMiddleware/gtk
gtkmain: Terminate two loops early
In propagate_event_{down,up}(), set handled_event to TRUE if a widget is unrealized, so as to terminate the corresponding loop early. See https://gitlab.gnome.org/GNOME/gtk/merge_requests/442
This commit is contained in:
parent
8ce01084af
commit
8a27302d56
@ -2439,6 +2439,8 @@ propagate_event_up (GtkWidget *widget,
|
||||
else if (gtk_widget_get_realized (widget))
|
||||
handled_event = gtk_widget_event (widget, event);
|
||||
|
||||
handled_event |= !gtk_widget_get_realized (widget);
|
||||
|
||||
tmp = gtk_widget_get_parent (widget);
|
||||
g_object_unref (widget);
|
||||
|
||||
@ -2492,6 +2494,8 @@ propagate_event_down (GtkWidget *widget,
|
||||
}
|
||||
else if (gtk_widget_get_realized (widget))
|
||||
handled_event = _gtk_widget_captured_event (widget, event);
|
||||
|
||||
handled_event |= !gtk_widget_get_realized (widget);
|
||||
}
|
||||
g_list_free_full (widgets, (GDestroyNotify)g_object_unref);
|
||||
|
||||
|
Loading…
Reference in New Issue
Block a user