X-Git-Url: https://git.saurik.com/wxWidgets.git/blobdiff_plain/5615ab377070991b552e8e75c951970390a16b05..56bd6aaca9d758663e202816e1861ee8674526e7:/src/msw/listbox.cpp diff --git a/src/msw/listbox.cpp b/src/msw/listbox.cpp index 98d9b64dd4..19a8753d28 100644 --- a/src/msw/listbox.cpp +++ b/src/msw/listbox.cpp @@ -668,41 +668,43 @@ wxSize wxListBox::DoGetBestSize() const bool wxListBox::MSWCommand(WXUINT param, WXWORD WXUNUSED(id)) { + wxEventType evtType; if ( param == LBN_SELCHANGE ) { - wxCommandEvent event(wxEVT_COMMAND_LISTBOX_SELECTED, m_windowId); - event.SetEventObject( this ); - - wxArrayInt aSelections; - int n, count = GetSelections(aSelections); - if ( count > 0 ) - { - n = aSelections[0]; - if ( HasClientObjectData() ) - event.SetClientObject( GetClientObject(n) ); - else if ( HasClientUntypedData() ) - event.SetClientData( GetClientData(n) ); - event.SetString( GetString(n) ); - } - else - { - n = -1; - } - - event.m_commandInt = n; - - return GetEventHandler()->ProcessEvent(event); + evtType = wxEVT_COMMAND_LISTBOX_SELECTED; } else if ( param == LBN_DBLCLK ) { - wxCommandEvent event(wxEVT_COMMAND_LISTBOX_DOUBLECLICKED, m_windowId); - event.SetEventObject( this ); + evtType = wxEVT_COMMAND_LISTBOX_DOUBLECLICKED; + } + else + { + // some event we're not interested in + return FALSE; + } + + wxCommandEvent event(evtType, m_windowId); + event.SetEventObject( this ); - return GetEventHandler()->ProcessEvent(event); + wxArrayInt aSelections; + int n, count = GetSelections(aSelections); + if ( count > 0 ) + { + n = aSelections[0]; + if ( HasClientObjectData() ) + event.SetClientObject( GetClientObject(n) ); + else if ( HasClientUntypedData() ) + event.SetClientData( GetClientData(n) ); + event.SetString( GetString(n) ); } - //else: + else + { + n = -1; + } + + event.m_commandInt = n; - return FALSE; + return GetEventHandler()->ProcessEvent(event); } // ----------------------------------------------------------------------------