X-Git-Url: https://git.saurik.com/wxWidgets.git/blobdiff_plain/3216dbf5dccab8ed6dc0245b7e5c998738ef51d7..5268c5a32bbe68b834abeaa89c8cfb2099d50d2e:/src/common/tbarbase.cpp diff --git a/src/common/tbarbase.cpp b/src/common/tbarbase.cpp index 2a66297a2b..93d6bbfc3f 100644 --- a/src/common/tbarbase.cpp +++ b/src/common/tbarbase.cpp @@ -74,9 +74,7 @@ bool wxToolBarToolBase::Enable(bool enable) bool wxToolBarToolBase::Toggle(bool toggle) { - // wxUniv toolbar toggles even non-checkable tools temporarily - should we - // change the code there or just allow doing it? - //wxASSERT_MSG( m_isToggle, _T("can't toggle this tool") ); + wxASSERT_MSG( m_isToggle, _T("can't toggle this tool") ); if ( m_toggled == toggle ) return FALSE; @@ -507,15 +505,23 @@ void wxToolBarBase::OnMouseEnter(int id) (void)GetEventHandler()->ProcessEvent(event); - wxToolBarToolBase *tool = FindById(id); - if ( !tool || !tool->GetLongHelp() ) - return; - wxFrame *frame = wxDynamicCast(GetParent(), wxFrame); if ( !frame ) return; - frame->SetStatusText(tool->GetLongHelp()); + wxString helpstring; + + if ( id != -1 ) + { + wxToolBarToolBase *tool = FindById(id); + if ( tool ) + helpstring = tool->GetLongHelp(); + } + + // set the status text anyhow, even if the string is empty: this ensures + // that it is cleared when the mouse leaves the toolbar or enters a tool + // without help + frame->SetStatusText(helpstring); } // ----------------------------------------------------------------------------