X-Git-Url: https://git.saurik.com/wxWidgets.git/blobdiff_plain/ed84dc74d9bd041c9c446cb87e598c2c4df0fa2f..9bc95da04ca5541783c9aead91769fcde0651d97:/src/generic/listctrl.cpp diff --git a/src/generic/listctrl.cpp b/src/generic/listctrl.cpp index 008ee79078..4ce0960f73 100644 --- a/src/generic/listctrl.cpp +++ b/src/generic/listctrl.cpp @@ -2682,6 +2682,16 @@ void wxListMainWindow::OnKeyDown( wxKeyEvent &event ) if (parent->GetEventHandler()->ProcessEvent( ke )) return; + // send a list event + wxListEvent le( wxEVT_COMMAND_LIST_KEY_DOWN, parent->GetId() ); + le.m_itemIndex = m_current; + if (HasCurrent()) + GetLine(m_current)->GetItem( 0, le.m_item ); + le.m_code = event.GetKeyCode(); + le.SetEventObject( parent ); + if (parent->GetEventHandler()->ProcessEvent( le )) + return; + event.Skip(); } @@ -2701,17 +2711,6 @@ void wxListMainWindow::OnChar( wxKeyEvent &event ) { wxWindow *parent = GetParent(); - // send a list_key event up - if ( HasCurrent() ) - { - wxListEvent le( wxEVT_COMMAND_LIST_KEY_DOWN, GetParent()->GetId() ); - le.m_itemIndex = m_current; - GetLine(m_current)->GetItem( 0, le.m_item ); - le.m_code = event.GetKeyCode(); - le.SetEventObject( parent ); - parent->GetEventHandler()->ProcessEvent( le ); - } - // propagate the char event upwards wxKeyEvent ke(event); ke.SetEventObject( parent );