summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorCaolán McNamara <caolanm@redhat.com>2015-06-30 12:16:20 +0100
committerCaolán McNamara <caolanm@redhat.com>2015-06-30 12:16:48 +0100
commit9ce8f73550e327ecffeed3f4f8697f8b1f2548ed (patch)
tree09c7b2246362a1ec8d76d11057556dcd7c09472b
parent0ccefa0cb62da893556893bec2414c22cb2ad7b8 (diff)
gtk3: re-enable when in backdrop and receive delete signal
Change-Id: I845a3eda41263a07e1e69eb6ff37ff5ab2576905
-rw-r--r--vcl/unx/gtk/window/gtksalframe.cxx8
1 files changed, 8 insertions, 0 deletions
diff --git a/vcl/unx/gtk/window/gtksalframe.cxx b/vcl/unx/gtk/window/gtksalframe.cxx
index f6ef61a02dde..9f8e35d68ee5 100644
--- a/vcl/unx/gtk/window/gtksalframe.cxx
+++ b/vcl/unx/gtk/window/gtksalframe.cxx
@@ -4020,6 +4020,14 @@ gboolean GtkSalFrame::signalDelete( GtkWidget*, GdkEvent*, gpointer frame )
{
GtkSalFrame* pThis = static_cast<GtkSalFrame*>(frame);
+#if GTK_CHECK_VERSION(3,0,0)
+ //If we went into the backdrop we disabled the toplevel window, if we
+ //receive a delete here, re-enable so we can process it
+ bool bBackDrop = (gtk_widget_get_state_flags(GTK_WIDGET(pThis->m_pWindow)) & GTK_STATE_FLAG_BACKDROP);
+ if (bBackDrop)
+ pThis->GetWindow()->Enable();
+#endif
+
pThis->CallCallback( SALEVENT_CLOSE, NULL );
return true;