diff options
Diffstat (limited to 'framework')
-rw-r--r-- | framework/source/uielement/menubarmanager.cxx | 7 |
1 files changed, 6 insertions, 1 deletions
diff --git a/framework/source/uielement/menubarmanager.cxx b/framework/source/uielement/menubarmanager.cxx index de31c3c005ea..341225135ee2 100644 --- a/framework/source/uielement/menubarmanager.cxx +++ b/framework/source/uielement/menubarmanager.cxx @@ -67,6 +67,7 @@ #include <toolkit/helper/vclunohelper.hxx> #include <vcl/svapp.hxx> #include <vcl/window.hxx> +#include <vcl/menu.hxx> #include <vcl/settings.hxx> #include <osl/mutex.hxx> #include <osl/file.hxx> @@ -430,6 +431,10 @@ throw ( RuntimeException, std::exception ) SolarMutexGuard aSolarGuard; { + vcl::MenuInvalidator aInvalidator; + aInvalidator.Invalidated(); + } + { if ( m_bDisposed ) return; @@ -914,9 +919,9 @@ IMPL_LINK( MenuBarManager, Activate, Menu *, pMenu ) if ( !bPopupMenu ) { - // We need only an update to reflect the current state xMenuItemDispatch->addStatusListener( static_cast< XStatusListener* >( this ), aTargetURL ); xMenuItemDispatch->removeStatusListener( static_cast< XStatusListener* >( this ), aTargetURL ); + xMenuItemDispatch->addStatusListener( static_cast< XStatusListener* >( this ), aTargetURL ); } } else if ( !bPopupMenu ) |