diff --git a/framework/source/layoutmanager/toolbarlayoutmanager.cxx b/framework/source/layoutmanager/toolbarlayoutmanager.cxx index 68e64b839a5f..6814ace0c1c7 100644 --- a/framework/source/layoutmanager/toolbarlayoutmanager.cxx +++ b/framework/source/layoutmanager/toolbarlayoutmanager.cxx @@ -462,7 +462,29 @@ bool ToolbarLayoutManager::createToolbar( const OUString& rResourceURL ) UIElement aToolbarElement = implts_findToolbar( rResourceURL ); if ( !aToolbarElement.m_xUIElement.is() ) { - uno::Reference< ui::XUIElement > xUIElement = implts_createElement( rResourceURL ); + uno::Reference< ui::XUIElement > xUIElement; + + uno::Sequence< beans::PropertyValue > aPropSeq( 2 ); + aPropSeq[0].Name = "Frame"; + aPropSeq[0].Value <<= m_xFrame; + aPropSeq[1].Name = "Persistent"; + aPropSeq[1].Value <<= true; + uno::Reference< ui::XUIElementFactory > xUIElementFactory( m_xUIElementFactoryManager ); + aReadLock.clear(); + + implts_setToolbarCreation( true ); + try + { + if ( xUIElementFactory.is() ) + xUIElement = xUIElementFactory->createUIElement( rResourceURL, aPropSeq ); + } + catch (const container::NoSuchElementException&) + { + } + catch (const lang::IllegalArgumentException&) + { + } + implts_setToolbarCreation( false ); bool bVisible( false ); bool bFloating( false ); @@ -1374,36 +1396,6 @@ bool ToolbarLayoutManager::implts_isToolbarCreationActive() return m_bToolbarCreation; } -uno::Reference< ui::XUIElement > ToolbarLayoutManager::implts_createElement( const OUString& aName ) -{ - uno::Reference< ui::XUIElement > xUIElement; - - SolarMutexClearableGuard aReadLock; - uno::Sequence< beans::PropertyValue > aPropSeq( 2 ); - aPropSeq[0].Name = "Frame"; - aPropSeq[0].Value <<= m_xFrame; - aPropSeq[1].Name = "Persistent"; - aPropSeq[1].Value <<= true; - uno::Reference< ui::XUIElementFactory > xUIElementFactory( m_xUIElementFactoryManager ); - aReadLock.clear(); - - implts_setToolbarCreation( true ); - try - { - if ( xUIElementFactory.is() ) - xUIElement = xUIElementFactory->createUIElement( aName, aPropSeq ); - } - catch (const container::NoSuchElementException&) - { - } - catch (const lang::IllegalArgumentException&) - { - } - implts_setToolbarCreation( false ); - - return xUIElement; -} - void ToolbarLayoutManager::implts_setElementData( UIElement& rElement, const uno::Reference< awt::XDockableWindow >& rDockWindow ) { SolarMutexClearableGuard aReadLock; diff --git a/framework/source/layoutmanager/toolbarlayoutmanager.hxx b/framework/source/layoutmanager/toolbarlayoutmanager.hxx index 52d91394e289..1169e5cab87d 100644 --- a/framework/source/layoutmanager/toolbarlayoutmanager.hxx +++ b/framework/source/layoutmanager/toolbarlayoutmanager.hxx @@ -258,7 +258,6 @@ class ToolbarLayoutManager : public ::cppu::WeakImplHelper3< ::com::sun::star::a void implts_createNonContextSensitiveToolBars(); void implts_createCustomToolBars( const ::com::sun::star::uno::Sequence< ::com::sun::star::uno::Sequence< ::com::sun::star::beans::PropertyValue > >& aCustomTbxSeq ); void implts_createCustomToolBar( const OUString& aTbxResName, const OUString& aTitle ); - css::uno::Reference< css::ui::XUIElement > implts_createElement( const OUString& aName ); void implts_setToolbarCreation( bool bStart = true ); bool implts_isToolbarCreationActive();