X-Git-Url: https://git.saurik.com/wxWidgets.git/blobdiff_plain/f148f2bac3fb0fa6d984050fb940112da150aeff..c2517b523979d4beaabbbe3538df1b49d682748d:/src/mac/carbon/combobox.cpp?ds=sidebyside diff --git a/src/mac/carbon/combobox.cpp b/src/mac/carbon/combobox.cpp index c3c5660bbf..795874147e 100644 --- a/src/mac/carbon/combobox.cpp +++ b/src/mac/carbon/combobox.cpp @@ -162,7 +162,10 @@ END_EVENT_TABLE() wxComboBox::~wxComboBox() { - // delete the controls now, don't leave them alive even though they would + // delete client objects + FreeData(); + + // delete the controls now, don't leave them alive even though they would // still be eventually deleted by our parent - but it will be too late, the // user code expects them to be gone now if (m_text != NULL) { @@ -201,7 +204,9 @@ void wxComboBox::DoMoveWindow(int x, int y, int width, int height) { if ( m_text == NULL ) { - m_choice->SetSize(0, 0 , width, -1); + // we might not be fully constructed yet, therefore watch out... + if ( m_choice ) + m_choice->SetSize(0, 0 , width, -1); } else { @@ -253,6 +258,22 @@ void wxComboBox::DelegateChoice( const wxString& value ) } +bool wxComboBox::Create(wxWindow *parent, wxWindowID id, + const wxString& value, + const wxPoint& pos, + const wxSize& size, + const wxArrayString& choices, + long style, + const wxValidator& validator, + const wxString& name) +{ + wxCArrayString chs( choices ); + + return Create( parent, id, value, pos, size, chs.GetCount(), + chs.GetStrings(), style, validator, name ); +} + + bool wxComboBox::Create(wxWindow *parent, wxWindowID id, const wxString& value, const wxPoint& pos,