X-Git-Url: https://git.saurik.com/wxWidgets.git/blobdiff_plain/4cf018e14ea61679b99874765f232b2032b3d3f8..e3b2f973e8278b4509710a5a06bede1297b317eb:/src/ribbon/toolbar.cpp diff --git a/src/ribbon/toolbar.cpp b/src/ribbon/toolbar.cpp index 9e8839bc92..cd4817e0a2 100644 --- a/src/ribbon/toolbar.cpp +++ b/src/ribbon/toolbar.cpp @@ -596,7 +596,7 @@ void wxRibbonToolBar::OnMouseMove(wxMouseEvent& evt) what = wxRIBBON_TOOLBAR_TOOL_DROPDOWN_HOVERED; new_hover->state |= what; - + if(new_hover == m_active_tool) { new_hover->state &= ~wxRIBBON_TOOLBAR_TOOL_ACTIVE_MASK; @@ -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); + } } }