don't skip the event in wxGridCellEditorEvtHandler::OnKillFocus() to fix crashes which happen if the control receiving this event gets deleted from it

git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@58969 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
This commit is contained in:
Vadim Zeitlin
2009-02-17 16:43:10 +00:00
parent 6918257d40
commit b5f3d8e934

View File

@@ -70,13 +70,20 @@
void wxGridCellEditorEvtHandler::OnKillFocus(wxFocusEvent& event)
{
// Don't disable the cell if we're just starting to edit it
if (m_inSetFocus)
if ( m_inSetFocus )
{
event.Skip();
return;
}
// accept changes
m_grid->DisableCellEditControl();
event.Skip();
// notice that we must not skip the event here because the call above may
// delete the control which received the kill focus event in the first
// place and if we pretend not having processed the event, the search for a
// handler for it will continue using the now deleted object resulting in a
// crash
}
void wxGridCellEditorEvtHandler::OnKeyDown(wxKeyEvent& event)