diff options
author | Carlos Garnacho <carlosg@gnome.org> | 2014-05-22 15:24:28 +0200 |
---|---|---|
committer | Carlos Garnacho <carlosg@gnome.org> | 2014-05-23 19:54:33 +0200 |
commit | 01d74f86a05be8697dd3f0474110b1524722a1ec (patch) | |
tree | 5bb6045dc30a1cd817a11bca1d83dfbdf36dc958 /gtk/gtkwidget.c | |
parent | ca1510177c8784c5eee2fb1d73f43f2b2dfc27fd (diff) | |
download | gtk+-01d74f86a05be8697dd3f0474110b1524722a1ec.tar.gz |
widget: Flip execution order of GTK_PHASE_TARGET/BUBBLE
the "bubble" phase used to run before event handlers before GTK_PHASE_TARGET
was added, in order to keep phases in the expected order, move GTK_PHASE_BUBBLE
to be run (still invariably) after event handlers.
The only behavioral change should be wrt widgets wanting mixed event handler/
gesture handling, they could previously attach the gesture to the bubble phase
and check for gtk_gesture_is_active() in the event handler to bail out, they'll
have to use GTK_PHASE_CAPTURE for that purpose from now on.
Diffstat (limited to 'gtk/gtkwidget.c')
-rw-r--r-- | gtk/gtkwidget.c | 3 |
1 files changed, 2 insertions, 1 deletions
diff --git a/gtk/gtkwidget.c b/gtk/gtkwidget.c index 8793c6bb4f..4326bf6c9c 100644 --- a/gtk/gtkwidget.c +++ b/gtk/gtkwidget.c @@ -7557,7 +7557,6 @@ gtk_widget_event_internal (GtkWidget *widget, g_object_ref (widget); - return_val |= _gtk_widget_run_controllers (widget, event, GTK_PHASE_BUBBLE); g_signal_emit (widget, widget_signals[EVENT], 0, event, &handled); return_val |= handled | !WIDGET_REALIZED_FOR_EVENT (widget, event); if (!return_val) @@ -7671,6 +7670,8 @@ gtk_widget_event_internal (GtkWidget *widget, else return_val = TRUE; + return_val |= _gtk_widget_run_controllers (widget, event, GTK_PHASE_BUBBLE); + g_object_unref (widget); return return_val; |