summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorCaolán McNamara <caolanm@redhat.com>2017-06-23 12:48:12 +0100
committerMichael Stahl <mstahl@redhat.com>2017-06-23 22:13:25 +0200
commitd8677b79fedda8a13f560e1a9a7ca8b36642366b (patch)
tree458a57d987bcc14c69734a27ce3f538d822113ec
parent6d4a041fe81b36e1e8f933bfe4216afcea72c76d (diff)
Resolves: tdf#108705 remove grabs on widget before destroying it
Change-Id: If02a0b4340788db638c74b98e855258145643452 Reviewed-on: https://gerrit.libreoffice.org/39167 Tested-by: Jenkins <ci@libreoffice.org> Reviewed-by: Michael Stahl <mstahl@redhat.com>
-rw-r--r--vcl/unx/gtk3/gtk3gtkframe.cxx5
1 files changed, 5 insertions, 0 deletions
diff --git a/vcl/unx/gtk3/gtk3gtkframe.cxx b/vcl/unx/gtk3/gtk3gtkframe.cxx
index 67caeb516770..95cad3d56a0a 100644
--- a/vcl/unx/gtk3/gtk3gtkframe.cxx
+++ b/vcl/unx/gtk3/gtk3gtkframe.cxx
@@ -832,6 +832,11 @@ GtkSalFrame::~GtkSalFrame()
delete m_pIMHandler;
+ //tdf#108705 remove grabs on event widget before
+ //destroying event widget
+ while (m_nGrabLevel)
+ removeGrabLevel();
+
GtkWidget *pEventWidget = getMouseEventWidget();
for (auto handler_id : m_aMouseSignalIds)
g_signal_handler_disconnect(G_OBJECT(pEventWidget), handler_id);