X-Git-Url: https://git.saurik.com/wxWidgets.git/blobdiff_plain/e2512c2373a7e0a942bdc66e04d170bcdb3b74e0..2c750daecddf6d69364e66e6465113ad9b9454a5:/src/common/wrapsizer.cpp diff --git a/src/common/wrapsizer.cpp b/src/common/wrapsizer.cpp index adca07fc18..9f2261e67c 100644 --- a/src/common/wrapsizer.cpp +++ b/src/common/wrapsizer.cpp @@ -59,7 +59,7 @@ private: wxSizerItem& m_item; const int m_propOld; - DECLARE_NO_COPY_CLASS(wxPropChanger) + wxDECLARE_NO_COPY_CLASS(wxPropChanger); }; } // anonymous namespace @@ -177,15 +177,6 @@ wxSize wxWrapSizer::CalcMin() // layout, trying to maintain the possibility to re-arrange lines by // sizing - wxSize szBoundary; // Keep track of boundary so we don't overflow - if ( m_availSize > 0 ) - { - if ( m_dirInform == m_orient ) - szBoundary = SizeFromMajorMinor(m_availSize, m_availableOtherDir); - else - szBoundary = SizeFromMajorMinor(m_availableOtherDir, m_availSize); - } - if ( !m_lastUsed ) { // Case 1 above: InformFirstDirection() has just been called @@ -195,21 +186,22 @@ wxSize wxWrapSizer::CalcMin() // a wrap sizer, depending on whether the first reported size component // is the opposite as our own orientation (the simpler case) or the same // one (more complicated). - wxSize szMinPrev = m_minSize; if ( m_dirInform == m_orient ) CalcMinFromMajor(m_availSize); else CalcMinFromMinor(m_availSize); - - // If overflowing given boundary, go back to previous min size - if ( m_minSize.x > szBoundary.x || m_minSize.y>szBoundary.y ) - m_minSize = szMinPrev; } else // Case 2 above: not immediately after InformFirstDirection() { if ( m_availSize > 0 ) { - CalcMinFittingSize(szBoundary); + wxSize szAvail; // Keep track of boundary so we don't overflow + if ( m_dirInform == m_orient ) + szAvail = SizeFromMajorMinor(m_availSize, m_availableOtherDir); + else + szAvail = SizeFromMajorMinor(m_availableOtherDir, m_availSize); + + CalcMinFittingSize(szAvail); } else // Initial calculation, before we have size available to us {