X-Git-Url: https://git.saurik.com/wxWidgets.git/blobdiff_plain/50c375d311ac4cefbf1ae1d11e19c9e7c00a873e..58c837a4e67c0996134cc0947691dc09c5f26687:/src/msw/choice.cpp diff --git a/src/msw/choice.cpp b/src/msw/choice.cpp index 0f7d86ec3b..90714d1e5a 100644 --- a/src/msw/choice.cpp +++ b/src/msw/choice.cpp @@ -85,12 +85,10 @@ bool wxChoice::Create(wxWindow *parent, return TRUE; } -/* wxChoice::~wxChoice() { Free(); } -*/ // ---------------------------------------------------------------------------- // adding/deleting items to/from the list @@ -121,12 +119,11 @@ void wxChoice::Delete(int n) void wxChoice::Clear() { -// Free(); + Free(); SendMessage(GetHwnd(), CB_RESETCONTENT, 0, 0); } -/* void wxChoice::Free() { if ( HasClientObjectData() ) @@ -138,7 +135,6 @@ void wxChoice::Free() } } } -*/ // ---------------------------------------------------------------------------- // selection @@ -322,15 +318,18 @@ bool wxChoice::MSWCommand(WXUINT param, WXWORD WXUNUSED(id)) } int n = GetSelection(); - wxCommandEvent event(wxEVT_COMMAND_CHOICE_SELECTED, m_windowId); - event.SetInt(n); - event.SetEventObject(this); - event.SetString(GetStringSelection()); - if ( HasClientObjectData() ) - event.SetClientObject( GetClientObject(n) ); - else if ( HasClientUntypedData() ) - event.SetClientData( GetClientData(n) ); - ProcessCommand(event); + if (n > -1) + { + wxCommandEvent event(wxEVT_COMMAND_CHOICE_SELECTED, m_windowId); + event.SetInt(n); + event.SetEventObject(this); + event.SetString(GetStringSelection()); + if ( HasClientObjectData() ) + event.SetClientObject( GetClientObject(n) ); + else if ( HasClientUntypedData() ) + event.SetClientData( GetClientData(n) ); + ProcessCommand(event); + } return TRUE; }