From 23a13694a5a70098b5ecd58b99d99618111f3ea5 Mon Sep 17 00:00:00 2001 From: Maxim Monastirsky Date: Wed, 28 Dec 2016 01:02:33 +0200 Subject: tdf#104944 gtk3: Ignore mouse up event if the wrong frame Change-Id: I3d0aad6d2b434866df9110d3b8493fec2d2c94fe Reviewed-on: https://gerrit.libreoffice.org/32465 Tested-by: Jenkins Reviewed-by: Maxim Monastirsky --- vcl/unx/gtk3/gtk3gtkframe.cxx | 7 ++++--- 1 file changed, 4 insertions(+), 3 deletions(-) (limited to 'vcl') diff --git a/vcl/unx/gtk3/gtk3gtkframe.cxx b/vcl/unx/gtk3/gtk3gtkframe.cxx index 8c91660bd5df..3f49b65b52cc 100644 --- a/vcl/unx/gtk3/gtk3gtkframe.cxx +++ b/vcl/unx/gtk3/gtk3gtkframe.cxx @@ -2611,11 +2611,12 @@ gboolean GtkSalFrame::signalButton( GtkWidget*, GdkEventButton* pEvent, gpointer vcl::DeletionListener aDel( pThis ); - if (pEvent->type == GDK_BUTTON_PRESS && pThis->isFloatGrabWindow()) + if (pThis->isFloatGrabWindow() && pEvent->window != widget_get_window(pThis->getMouseEventWidget())) { - bool bClosePopups = (pEvent->window != widget_get_window(pThis->getMouseEventWidget())); - if (bClosePopups) + if (pEvent->type == GDK_BUTTON_PRESS) pThis->closePopup(); + else if (pEvent->type == GDK_BUTTON_RELEASE) + return true; } if (!aDel.isDeleted()) -- cgit