X-Git-Url: https://git.saurik.com/wxWidgets.git/blobdiff_plain/8907154c1a8a6882c6797d1f16393ddfb23e7f3a..a3669332df65cfae18e7540a267bc3400a64aa09:/src/univ/toolbar.cpp diff --git a/src/univ/toolbar.cpp b/src/univ/toolbar.cpp index d07923834e..66e6b21623 100644 --- a/src/univ/toolbar.cpp +++ b/src/univ/toolbar.cpp @@ -128,7 +128,7 @@ private: // wxToolBar implementation // ============================================================================ -IMPLEMENT_DYNAMIC_CLASS(wxToolBar, wxControl); +IMPLEMENT_DYNAMIC_CLASS(wxToolBar, wxControl) // ---------------------------------------------------------------------------- // wxToolBar creation @@ -649,6 +649,17 @@ bool wxToolBar::PerformAction(const wxControlAction& action, PerformAction( wxACTION_BUTTON_RELEASE, numArg ); PerformAction( wxACTION_BUTTON_CLICK, numArg ); + + // Write by Danny Raynor to change state again. + // Check button still pressed or not + if( tool->IsInverted() ) + { + PerformAction( wxACTION_TOOLBAR_RELEASE, numArg ); + } + + // Set mouse leave toolbar button range (If still in the range, + // toolbar button would get focus again + PerformAction( wxACTION_TOOLBAR_LEAVE, numArg ); } else if ( action == wxACTION_TOOLBAR_PRESS ) {