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:
@@ -70,13 +70,20 @@
|
|||||||
void wxGridCellEditorEvtHandler::OnKillFocus(wxFocusEvent& event)
|
void wxGridCellEditorEvtHandler::OnKillFocus(wxFocusEvent& event)
|
||||||
{
|
{
|
||||||
// Don't disable the cell if we're just starting to edit it
|
// Don't disable the cell if we're just starting to edit it
|
||||||
if (m_inSetFocus)
|
if ( m_inSetFocus )
|
||||||
|
{
|
||||||
|
event.Skip();
|
||||||
return;
|
return;
|
||||||
|
}
|
||||||
|
|
||||||
// accept changes
|
// accept changes
|
||||||
m_grid->DisableCellEditControl();
|
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)
|
void wxGridCellEditorEvtHandler::OnKeyDown(wxKeyEvent& event)
|
||||||
|
Reference in New Issue
Block a user