]> git.saurik.com Git - wxWidgets.git/commitdiff
Don't lay out the window being destroyed unnecessarily.
authorVadim Zeitlin <vadim@wxwidgets.org>
Thu, 30 Aug 2012 20:20:20 +0000 (20:20 +0000)
committerVadim Zeitlin <vadim@wxwidgets.org>
Thu, 30 Aug 2012 20:20:20 +0000 (20:20 +0000)
This is just a small optimization: it's useless to waste time on redoing the
layout of a window that is going to be destroyed soon anyhow.

git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@72403 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775

src/common/toplvcmn.cpp

index 1ce788ef1f3b40907a7240f5e6f33b42f17ec2ba..e93cdc024f329c6186c16be7993f1f81c1065d0b 100644 (file)
@@ -361,6 +361,14 @@ void wxTopLevelWindowBase::SetIcon(const wxIcon& icon)
 // whole client area
 void wxTopLevelWindowBase::DoLayout()
 {
+    // We are called during the window destruction several times, e.g. as
+    // wxFrame tries to adjust to its tool/status bars disappearing. But
+    // actually doing the layout is pretty useless in this case as the window
+    // will disappear anyhow -- so just don't bother.
+    if ( IsBeingDeleted() )
+        return;
+
+
     // if we're using constraints or sizers - do use them
     if ( GetAutoLayout() )
     {