vcl/unx/gtk3/gtkframe.cxx | 5 +++++ 1 file changed, 5 insertions(+) New commits: commit 9fb3742df0a65238197e760a85f3f4a0e58ec31b Author: Caolán McNamara <caol...@redhat.com> AuthorDate: Fri Jul 9 11:35:17 2021 +0100 Commit: Caolán McNamara <caol...@redhat.com> CommitDate: Fri Jul 9 16:49:28 2021 +0200
use GTK_PHASE_TARGET instead of GTK_PHASE_BUBBLE so we don't get called if the event happened in another widget hosted inside this widget Change-Id: I77fe9250ffa45b76602dc0e77839ccff2e856de2 Reviewed-on: https://gerrit.libreoffice.org/c/core/+/118666 Tested-by: Jenkins Reviewed-by: Caolán McNamara <caol...@redhat.com> diff --git a/vcl/unx/gtk3/gtkframe.cxx b/vcl/unx/gtk3/gtkframe.cxx index 71b8673ee11e..3b23b5c2a07e 100644 --- a/vcl/unx/gtk3/gtkframe.cxx +++ b/vcl/unx/gtk3/gtkframe.cxx @@ -961,6 +961,10 @@ void GtkSalFrame::InitCommon() #else GtkGesture *pClick = gtk_gesture_click_new(); gtk_gesture_single_set_button(GTK_GESTURE_SINGLE(pClick), 0); + // use GTK_PHASE_TARGET instead of default GTK_PHASE_BUBBLE because I don't + // want click events in gtk widgets inside the overlay, e.g. the font size + // combobox GtkEntry in the toolbar, to be propagated down to this widget + gtk_event_controller_set_propagation_phase(GTK_EVENT_CONTROLLER(pClick), GTK_PHASE_TARGET); gtk_widget_add_controller(pEventWidget, GTK_EVENT_CONTROLLER(pClick)); g_signal_connect(pClick, "pressed", G_CALLBACK(gesturePressed), this); g_signal_connect(pClick, "released", G_CALLBACK(gestureReleased), this); @@ -969,6 +973,7 @@ void GtkSalFrame::InitCommon() g_signal_connect(pMotionController, "motion", G_CALLBACK(signalMotion), this); g_signal_connect(pMotionController, "enter", G_CALLBACK(signalEnter), this); g_signal_connect(pMotionController, "leave", G_CALLBACK(signalLeave), this); + gtk_event_controller_set_propagation_phase(pMotionController, GTK_PHASE_TARGET); gtk_widget_add_controller(pEventWidget, pMotionController); GtkEventController* pScrollController = gtk_event_controller_scroll_new(GTK_EVENT_CONTROLLER_SCROLL_BOTH_AXES); _______________________________________________ Libreoffice-commits mailing list libreoffice-comm...@lists.freedesktop.org https://lists.freedesktop.org/mailman/listinfo/libreoffice-commits