summaryrefslogtreecommitdiff
path: root/vcl
diff options
context:
space:
mode:
authorCaolán McNamara <caolanm@redhat.com>2017-06-23 12:48:12 +0100
committerCaolán McNamara <caolanm@redhat.com>2017-06-23 16:09:39 +0200
commit9b32355ea6d8d5e34363ba0c57e74d75d7a7b1b7 (patch)
tree6d1945ddd9c3e6a2992b22250b7f785ad39bc22f /vcl
parent3bb8ec7cc5c1dba74216ea42b94bf2284bf286d0 (diff)
Resolves: tdf#108705 remove grabs on widget before destroying it
Change-Id: If02a0b4340788db638c74b98e855258145643452 Reviewed-on: https://gerrit.libreoffice.org/39165 Reviewed-by: Caolán McNamara <caolanm@redhat.com> Tested-by: Caolán McNamara <caolanm@redhat.com>
Diffstat (limited to 'vcl')
-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 d59d07ef085d..30a0e2787355 100644
--- a/vcl/unx/gtk3/gtk3gtkframe.cxx
+++ b/vcl/unx/gtk3/gtk3gtkframe.cxx
@@ -836,6 +836,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);