]> git.saurik.com Git - wxWidgets.git/commitdiff
Fixed a confusion between window and client size that could lead to
authorJulian Smart <julian@anthemion.co.uk>
Thu, 22 Feb 2007 17:57:05 +0000 (17:57 +0000)
committerJulian Smart <julian@anthemion.co.uk>
Thu, 22 Feb 2007 17:57:05 +0000 (17:57 +0000)
gradually increasing window size on repeated layout, by duplicate
application of the client to window size conversion.

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

src/common/wincmn.cpp

index 7b0bb3c81b94cc746ee0a2ee97998683ce9034ae..41c8a455bde442f9e2a468dcf636c08927e22888 100644 (file)
@@ -497,7 +497,18 @@ wxSize wxWindowBase::DoGetBestSize() const
 
     if ( m_windowSizer )
     {
-        best = GetWindowSizeForVirtualSize(m_windowSizer->GetMinSize());
+        // Adjust to window size, since the return value of GetWindowSizeForVirtualSize is
+        // expressed in window and not client size
+        wxSize minSize = m_windowSizer->GetMinSize();
+        wxSize size(GetSize());
+        wxSize clientSize(GetClientSize());
+
+        wxSize minWindowSize(minSize.x + size.x - clientSize.x,
+                             minSize.y + size.y - clientSize.y);
+
+        best = GetWindowSizeForVirtualSize(minWindowSize);
+
+        return best;
     }
 #if wxUSE_CONSTRAINTS
     else if ( m_constraints )