Fixed event propagation problems in wxMac native list control

git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/branches/WX_2_8_BRANCH@60636 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
This commit is contained in:
Julian Smart
2009-05-14 12:45:20 +00:00
parent b58a285f94
commit 74fe278740
2 changed files with 18 additions and 1 deletions

View File

@@ -303,6 +303,9 @@ wxMacListCtrlEventDelegate::wxMacListCtrlEventDelegate( wxListCtrl* list, int id
bool wxMacListCtrlEventDelegate::ProcessEvent( wxEvent& event )
{
int id = event.GetId();
wxObject* obj = event.GetEventObject();
// even though we use a generic list ctrl underneath, make sure
// we present ourselves as wxListCtrl.
event.SetEventObject( m_list );
@@ -311,9 +314,19 @@ bool wxMacListCtrlEventDelegate::ProcessEvent( wxEvent& event )
if ( !event.IsKindOf( CLASSINFO( wxCommandEvent ) ) )
{
if (m_list->GetEventHandler()->ProcessEvent( event ))
{
event.SetId(id);
event.SetEventObject(obj);
return true;
}
}
return wxEvtHandler::ProcessEvent(event);
// Also try with the original id
bool success = wxEvtHandler::ProcessEvent(event);
event.SetId(id);
event.SetEventObject(obj);
if (!success && id != m_id)
success = wxEvtHandler::ProcessEvent(event);
return success;
}
//-----------------------------------------------------------------------------