diff options
author | Caolán McNamara <caolanm@redhat.com> | 2021-07-09 11:35:17 +0100 |
---|---|---|
committer | Caolán McNamara <caolanm@redhat.com> | 2021-07-09 16:49:28 +0200 |
commit | 9fb3742df0a65238197e760a85f3f4a0e58ec31b (patch) | |
tree | b78b63e6d4edabcbb4ec83ebee0156dfb3b6a247 /vcl/unx | |
parent | addd7e7835097043efda52594f3a34219dbd1063 (diff) |
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 <caolanm@redhat.com>
Diffstat (limited to 'vcl/unx')
-rw-r--r-- | vcl/unx/gtk3/gtkframe.cxx | 5 |
1 files changed, 5 insertions, 0 deletions
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); |