aboutsummaryrefslogtreecommitdiff
path: root/libraries/wxGTK3/assert.patch
diff options
context:
space:
mode:
Diffstat (limited to 'libraries/wxGTK3/assert.patch')
-rw-r--r--libraries/wxGTK3/assert.patch29
1 files changed, 29 insertions, 0 deletions
diff --git a/libraries/wxGTK3/assert.patch b/libraries/wxGTK3/assert.patch
new file mode 100644
index 0000000000000..ea5cae370ed6f
--- /dev/null
+++ b/libraries/wxGTK3/assert.patch
@@ -0,0 +1,29 @@
+From ce1dce113c5eda42f49ba3278bb21c61872ca37d Mon Sep 17 00:00:00 2001
+From: Paul Cornett <paulcor@users.noreply.github.com>
+Date: Mon, 28 Aug 2017 20:31:47 -0700
+Subject: [PATCH] Avoid delayed destruction if TLW was never created. See
+ #17942
+
+(cherry picked from commit 4a71ba820f085a3d5a7233e9fd0e23ae4e45af58)
+---
+ src/common/toplvcmn.cpp | 6 +++---
+ 1 file changed, 3 insertions(+), 3 deletions(-)
+
+diff --git a/src/common/toplvcmn.cpp b/src/common/toplvcmn.cpp
+index ef693690c5d..6a722f8be48 100644
+--- a/src/common/toplvcmn.cpp
++++ b/src/common/toplvcmn.cpp
+@@ -105,10 +105,10 @@ bool wxTopLevelWindowBase::Destroy()
+ // as we will be deleted anyhow during its destruction and the pointer
+ // stored in wxPendingDelete would become invalid, so just delete ourselves
+ // immediately in this case.
+- if ( wxWindow* parent = GetParent() )
++ wxWindow* parent = GetParent();
++ if ( (parent && parent->IsBeingDeleted()) || !GetHandle() )
+ {
+- if ( parent->IsBeingDeleted() )
+- return wxNonOwnedWindow::Destroy();
++ return wxNonOwnedWindow::Destroy();
+ }
+
+ // delayed destruction: the frame will be deleted during the next idle