]> git.saurik.com Git - wxWidgets.git/blobdiff - src/msw/listbox.cpp
Fix memory leak by letting the base class version handle the
[wxWidgets.git] / src / msw / listbox.cpp
index 6c82458ecef37de8e136736052352caf83d0dc93..e45103c7b1596419a43d2cf17eb0fee9a7711bde 100644 (file)
@@ -6,7 +6,7 @@
 // Created:
 // RCS-ID:      $Id$
 // Copyright:   (c) Julian Smart
-// Licence:     wxWindows licence
+// Licence:     wxWidgets licence
 ///////////////////////////////////////////////////////////////////////////////
 
 #if defined(__GNUG__) && !defined(NO_GCC_PRAGMA)
@@ -59,7 +59,7 @@ wxBEGIN_FLAGS( wxListBoxStyle )
     wxFLAGS_MEMBER(wxBORDER_RAISED)
     wxFLAGS_MEMBER(wxBORDER_STATIC)
     wxFLAGS_MEMBER(wxBORDER_NONE)
-    
+
     // old style border flags
     wxFLAGS_MEMBER(wxSIMPLE_BORDER)
     wxFLAGS_MEMBER(wxSUNKEN_BORDER)
@@ -103,7 +103,7 @@ wxEND_PROPERTIES_TABLE()
 wxBEGIN_HANDLERS_TABLE(wxListBox)
 wxEND_HANDLERS_TABLE()
 
-wxCONSTRUCTOR_4( wxListBox , wxWindow* , Parent , wxWindowID , Id , wxPoint , Position , wxSize , Size ) 
+wxCONSTRUCTOR_4( wxListBox , wxWindow* , Parent , wxWindowID , Id , wxPoint , Position , wxSize , Size )
 #else
 IMPLEMENT_DYNAMIC_CLASS(wxListBox, wxControl)
 #endif
@@ -184,6 +184,9 @@ bool wxListBox::Create(wxWindow *parent,
         Append(choices[i]);
     }
 
+    // now we can compute our best size correctly, so do it if necessary
+    SetBestSize(size);
+
     return true;
 }
 
@@ -387,7 +390,7 @@ void wxListBox::Free()
 
 void wxListBox::SetSelection(int N, bool select)
 {
-    wxCHECK_RET( N == wxNOT_FOUND || 
+    wxCHECK_RET( N == wxNOT_FOUND ||
                     (N >= 0 && N < m_noItems),
                  wxT("invalid index in wxListBox::SetSelection") );