From 42cfa1842f59196416e016a151dc369d2b15a25d Mon Sep 17 00:00:00 2001 From: Robin Dunn Date: Tue, 18 May 2004 19:30:31 +0000 Subject: [PATCH] Call SetSize for explicit sizees too in case it wasn't called before earlier in the Create process. git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@27343 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775 --- src/common/wincmn.cpp | 13 ++++++------- 1 file changed, 6 insertions(+), 7 deletions(-) diff --git a/src/common/wincmn.cpp b/src/common/wincmn.cpp index 34bb9d4924..450132dc60 100644 --- a/src/common/wincmn.cpp +++ b/src/common/wincmn.cpp @@ -622,10 +622,7 @@ wxSize wxWindowBase::DoGetBestSize() const void wxWindowBase::SetBestSize(const wxSize& size) { - // the size only needs to be changed if the current size is incomplete, - // i.e. one of the components was specified as default -- so if both - // were given, simply don't do anything and in particular don't call - // potentially expensive DoGetBestSize() + // If the given size is incomplete then merge with the best size. wxSize sizeBest; if ( size.x == -1 || size.y == -1 ) { @@ -634,14 +631,16 @@ void wxWindowBase::SetBestSize(const wxSize& size) sizeBest.x = size.x; if ( size.y != -1 ) sizeBest.y = size.y; - - SetSize(sizeBest); } - else // have explicit size + else // have complete explicit size { sizeBest = size; } + // Change the size if needed + if (GetSize() != sizeBest) + SetSize(sizeBest); + // don't shrink the control below its best size m_minWidth = sizeBest.x; m_minHeight = sizeBest.y; -- 2.50.0