]> git.saurik.com Git - wxWidgets.git/commitdiff
don't compute (and mainly don't cache) our best size until we have created the radio...
authorVadim Zeitlin <vadim@wxwidgets.org>
Tue, 31 Oct 2006 16:37:52 +0000 (16:37 +0000)
committerVadim Zeitlin <vadim@wxwidgets.org>
Tue, 31 Oct 2006 16:37:52 +0000 (16:37 +0000)
git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@42861 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775

src/msw/radiobox.cpp

index af016c9a1599bd7593b79cf0e4d8f32ff5fdcaf0..45424eb27e37cde7784ba9935b21ff6ddcde787d 100644 (file)
@@ -206,10 +206,6 @@ bool wxRadioBox::Create(wxWindow *parent,
     SetWindowPos(GetHwnd(), HWND_BOTTOM, 0, 0, 0, 0, SWP_NOMOVE|SWP_NOSIZE);
 #endif
 
-    // Have to invalidate the best size as it may have been calculated
-    // before the number of buttons was known
-    InvalidateBestSize();
-
     SetMajorDim(majorDim == 0 ? n : majorDim, style);
     SetSelection(0);
     SetSize(pos.x, pos.y, size.x, size.y);
@@ -509,6 +505,13 @@ wxSize wxRadioBox::GetTotalButtonSize(const wxSize& sizeBtn) const
 
 wxSize wxRadioBox::DoGetBestSize() const
 {
+    if ( !m_radioButtons )
+    {
+        // if we're not fully initialized yet, we can't meaningfully compute
+        // our best size, we'll do it later
+        return wxSize(1, 1);
+    }
+
     wxSize best = GetTotalButtonSize(GetMaxButtonSize());
     CacheBestSize(best);
     return best;