From ce1dce113c5eda42f49ba3278bb21c61872ca37d 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 (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