From 4a71ba820f085a3d5a7233e9fd0e23ae4e45af58 Mon Sep 17 00:00:00 2001 From: Paul Cornett Date: Mon, 28 Aug 2017 20:31:47 -0700 Subject: [PATCH] Avoid delayed destruction if TLW was never created. See #17942 --- 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 58581f6d8a..c5eff7f463 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