gtkwidget: Check return value before running bubble phase

If the target widget gets the event consumed on the target phase,
we should not attempt to bubble up, not even within the same widget.
This commit is contained in:
Carlos Garnacho 2017-10-12 14:19:35 +02:00
parent 564ae6967d
commit d4a6c2c241

View File

@ -6802,7 +6802,8 @@ gtk_widget_event_internal (GtkWidget *widget,
_gtk_tooltip_focus_out (widget);
}
return_val |= _gtk_widget_run_controllers (widget, event_copy, GTK_PHASE_BUBBLE);
if (return_val == FALSE)
return_val |= _gtk_widget_run_controllers (widget, event_copy, GTK_PHASE_BUBBLE);
gdk_event_free (event_copy);
return return_val;