Avoid crash when releasing the mouse in wxRibbonToolBar.

The active tool pointer can be changed/set to NULL by the event handler in
wxRibbonToolBar::OnMouseUp() so test for it before using it after processing
the event.

Closes #12640.

git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@65989 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
This commit is contained in:
Vadim Zeitlin 2010-11-02 11:57:03 +00:00
parent d22e07bf6c
commit 6f26925422

View File

@ -661,9 +661,15 @@ void wxRibbonToolBar::OnMouseUp(wxMouseEvent& WXUNUSED(evt))
notification.SetBar(this);
ProcessEvent(notification);
}
m_active_tool->state &= ~wxRIBBON_TOOLBAR_TOOL_ACTIVE_MASK;
m_active_tool = NULL;
Refresh(false);
// Notice that m_active_tool could have been reset by the event handler
// above so we need to test it again.
if (m_active_tool)
{
m_active_tool->state &= ~wxRIBBON_TOOLBAR_TOOL_ACTIVE_MASK;
m_active_tool = NULL;
Refresh(false);
}
}
}