summaryrefslogtreecommitdiff
path: root/framework/source/layoutmanager/layoutmanager.cxx
diff options
context:
space:
mode:
Diffstat (limited to 'framework/source/layoutmanager/layoutmanager.cxx')
-rw-r--r--framework/source/layoutmanager/layoutmanager.cxx92
1 files changed, 47 insertions, 45 deletions
diff --git a/framework/source/layoutmanager/layoutmanager.cxx b/framework/source/layoutmanager/layoutmanager.cxx
index 16b7e099b3c6..274c595ce42c 100644
--- a/framework/source/layoutmanager/layoutmanager.cxx
+++ b/framework/source/layoutmanager/layoutmanager.cxx
@@ -1520,60 +1520,62 @@ void SAL_CALL LayoutManager::destroyElement( const OUString& aName )
{
SAL_INFO( "fwk", "framework (cd100003) ::LayoutManager::destroyElement" );
+ bool bMustBeLayouted(false);
+ bool bNotify(false);
/* SAFE AREA ----------------------------------------------------------------------------------------------- */
- SolarMutexClearableGuard aWriteLock;
+ {
+ SolarMutexClearableGuard aWriteLock;
- bool bMustBeLayouted( false );
- bool bNotify( false );
- OUString aElementType;
- OUString aElementName;
+ OUString aElementType;
+ OUString aElementName;
- parseResourceURL( aName, aElementType, aElementName );
+ parseResourceURL(aName, aElementType, aElementName);
- if ( aElementType.equalsIgnoreAsciiCase("menubar") &&
- aElementName.equalsIgnoreAsciiCase("menubar") )
- {
- if ( !m_bInplaceMenuSet )
+ if (aElementType.equalsIgnoreAsciiCase("menubar")
+ && aElementName.equalsIgnoreAsciiCase("menubar"))
{
- impl_clearUpMenuBar();
- m_xMenuBar.clear();
+ if (!m_bInplaceMenuSet)
+ {
+ impl_clearUpMenuBar();
+ m_xMenuBar.clear();
+ bNotify = true;
+ }
+ }
+ else if ((aElementType.equalsIgnoreAsciiCase("statusbar")
+ && aElementName.equalsIgnoreAsciiCase("statusbar"))
+ || (m_aStatusBarElement.m_aName == aName))
+ {
+ aWriteLock.clear();
+ implts_destroyStatusBar();
+ bMustBeLayouted = true;
bNotify = true;
}
- }
- else if (( aElementType.equalsIgnoreAsciiCase("statusbar") &&
- aElementName.equalsIgnoreAsciiCase("statusbar") ) ||
- ( m_aStatusBarElement.m_aName == aName ))
- {
- aWriteLock.clear();
- implts_destroyStatusBar();
- bMustBeLayouted = true;
- bNotify = true;
- }
- else if ( aElementType.equalsIgnoreAsciiCase("progressbar") &&
- aElementName.equalsIgnoreAsciiCase("progressbar") )
- {
- aWriteLock.clear();
- implts_createProgressBar();
- bMustBeLayouted = true;
- bNotify = true;
- }
- else if ( aElementType.equalsIgnoreAsciiCase( UIRESOURCETYPE_TOOLBAR ) && m_xToolbarManager.is() )
- {
- aWriteLock.clear();
- bNotify = m_xToolbarManager->destroyToolbar( aName );
- bMustBeLayouted = m_xToolbarManager->isLayoutDirty();
- }
- else if ( aElementType.equalsIgnoreAsciiCase("dockingwindow"))
- {
- uno::Reference< frame::XFrame > xFrame( m_xFrame );
- uno::Reference< XComponentContext > xContext( m_xContext );
- aWriteLock.clear();
+ else if (aElementType.equalsIgnoreAsciiCase("progressbar")
+ && aElementName.equalsIgnoreAsciiCase("progressbar"))
+ {
+ aWriteLock.clear();
+ implts_createProgressBar();
+ bMustBeLayouted = true;
+ bNotify = true;
+ }
+ else if (aElementType.equalsIgnoreAsciiCase(UIRESOURCETYPE_TOOLBAR)
+ && m_xToolbarManager.is())
+ {
+ aWriteLock.clear();
+ bNotify = m_xToolbarManager->destroyToolbar(aName);
+ bMustBeLayouted = m_xToolbarManager->isLayoutDirty();
+ }
+ else if (aElementType.equalsIgnoreAsciiCase("dockingwindow"))
+ {
+ uno::Reference<frame::XFrame> xFrame(m_xFrame);
+ uno::Reference<XComponentContext> xContext(m_xContext);
+ aWriteLock.clear();
- impl_setDockingWindowVisibility( xContext, xFrame, aElementName, false );
- bMustBeLayouted = false;
- bNotify = false;
+ impl_setDockingWindowVisibility(xContext, xFrame, aElementName, false);
+ bMustBeLayouted = false;
+ bNotify = false;
+ }
}
- aWriteLock.clear();
/* SAFE AREA ----------------------------------------------------------------------------------------------- */
if ( bMustBeLayouted )