X-Git-Url: https://git.saurik.com/wxWidgets.git/blobdiff_plain/465605e0fdb03081c05d822e795be4b29dbd9a32..cd5082468fc4dd397d7eea951fa4e905ea3f9368:/src/mac/combobox.cpp?ds=sidebyside diff --git a/src/mac/combobox.cpp b/src/mac/combobox.cpp index 7bac2630c4..e67e1d9601 100644 --- a/src/mac/combobox.cpp +++ b/src/mac/combobox.cpp @@ -60,8 +60,9 @@ protected: void OnTextChange( wxCommandEvent& event ) { wxString s = GetValue(); - - m_cb->DelegateTextChanged( s ); + + if (!s.IsEmpty()) + m_cb->DelegateTextChanged( s ); event.Skip(); } @@ -103,16 +104,19 @@ BEGIN_EVENT_TABLE(wxComboBoxChoice, wxChoice) EVT_CHOICE(-1, wxComboBoxChoice::OnChoice) END_EVENT_TABLE() - - - wxComboBox::~wxComboBox() { - // delete the controls now, don't leave them alive even though they woudl + // 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 - delete m_text; - delete m_choice; + if (m_text != NULL) { + delete m_text; + m_text = NULL; + } + if (m_choice != NULL) { + delete m_choice; + m_choice = NULL; + } } @@ -366,7 +370,11 @@ void wxComboBox::SetSelection(long from, long to) void wxComboBox::Append(const wxString& item) { - m_choice->DoAppend( item ); + // I am not sure what other ports do, + // but wxMac chokes on empty entries. + + if (!item.IsEmpty()) + m_choice->DoAppend( item ); } void wxComboBox::Delete(int n)