diff options
author | Noel Grandin <noel.grandin@collabora.co.uk> | 2016-12-13 12:37:04 +0200 |
---|---|---|
committer | Noel Grandin <noel.grandin@collabora.co.uk> | 2016-12-13 13:04:34 +0000 |
commit | 872cf486c542ae66bbf65e0270a642f4019df678 (patch) | |
tree | bfdb76b2cd07327895888efb0aa4834916714dcc /framework/source | |
parent | b252dbf59dc1466a2ef45e9905334718e587e5c9 (diff) |
Revert "verify SolarMutex when ref-counting VclPtr" series
This reverts the following commits:
commit 722f4e1d86710f2facd37d7e040df9e1fd585e26
tdf#104573 - Assertion failed: SolarMutex not locked
commit f04ec99f5e6a543b8191ced61db4710c3c0de356
tdf#104573 - Assertion failed: SolarMutex not locked
commit 71b1e3ff6374c23e65200d3bcafca387d29af04f
tdf#104573 - Assertion failed: SolarMutex not locked when trying
commit e794ce1eef6730e5a46d5fb0aa6db2895ede85e7
verify that we hold the SolarMutex when ref-counting VclPtr
IRC discussion:
<noelgrandin> sberg, maybe I should revert this whole "VclPtr assert" series, I don't have mental bandwidth to sort this out properly now
<sberg> noelgrandin, what I fear is that you'll end up adding lots of SolarMutex locks to small places, where the proper fix would be to add it further out; and once such a dreaded recursive SolarMutex lock is in place (but needlessly so, once the proper fix is done), it's hard to clean that up again
<noelgrandin> sberg, yeah, in that case I'll just remove all of this, leave it for another day
Change-Id: Ie4f84b72b79a1b7e80164b5c7693af398c2c569a
Reviewed-on: https://gerrit.libreoffice.org/31946
Tested-by: Jenkins <ci@libreoffice.org>
Reviewed-by: Noel Grandin <noel.grandin@collabora.co.uk>
Diffstat (limited to 'framework/source')
-rw-r--r-- | framework/source/dispatch/closedispatcher.cxx | 1 | ||||
-rw-r--r-- | framework/source/layoutmanager/toolbarlayoutmanager.cxx | 1 | ||||
-rw-r--r-- | framework/source/loadenv/loadenv.cxx | 1 | ||||
-rw-r--r-- | framework/source/services/frame.cxx | 3 | ||||
-rw-r--r-- | framework/source/uielement/menubarmanager.cxx | 3 |
5 files changed, 0 insertions, 9 deletions
diff --git a/framework/source/dispatch/closedispatcher.cxx b/framework/source/dispatch/closedispatcher.cxx index 6d5b03b8b2d5..afab7e871798 100644 --- a/framework/source/dispatch/closedispatcher.cxx +++ b/framework/source/dispatch/closedispatcher.cxx @@ -71,7 +71,6 @@ CloseDispatcher::CloseDispatcher(const css::uno::Reference< css::uno::XComponent uno::Reference<awt::XWindow> xWindow = xTarget->getContainerWindow(); if (xWindow.is()) { - SolarMutexGuard g; VclPtr<vcl::Window> pWindow = VCLUnoHelper::GetWindow(xWindow); if (pWindow->IsSystemWindow()) m_pSysWindow = dynamic_cast<SystemWindow*>(pWindow.get()); diff --git a/framework/source/layoutmanager/toolbarlayoutmanager.cxx b/framework/source/layoutmanager/toolbarlayoutmanager.cxx index 385fcd4dcc21..f870b40f29b7 100644 --- a/framework/source/layoutmanager/toolbarlayoutmanager.cxx +++ b/framework/source/layoutmanager/toolbarlayoutmanager.cxx @@ -2556,7 +2556,6 @@ void ToolbarLayoutManager::implts_calcWindowPosSizeOnSingleRowColumn( nCurrPos += ( aWinRect.Y - nCurrPos ) + aWinRect.Height; } } - pDockAreaWindow.clear(); // must be cleared under SolarMutex } void ToolbarLayoutManager::implts_setLayoutDirty() diff --git a/framework/source/loadenv/loadenv.cxx b/framework/source/loadenv/loadenv.cxx index 012a7ba66e9e..8e1288269ede 100644 --- a/framework/source/loadenv/loadenv.cxx +++ b/framework/source/loadenv/loadenv.cxx @@ -1672,7 +1672,6 @@ void LoadEnv::impl_applyPersistentWindowState(const css::uno::Reference< css::aw WorkWindow* pWorkWindow = static_cast<WorkWindow*>(pWindow.get()); if (pWorkWindow->IsMinimized()) return; - pWindow.clear(); // must be cleared under SolarMutex aSolarGuard1.clear(); // <- SOLAR SAFE diff --git a/framework/source/services/frame.cxx b/framework/source/services/frame.cxx index da5a346e02f9..09e5104652f6 100644 --- a/framework/source/services/frame.cxx +++ b/framework/source/services/frame.cxx @@ -876,8 +876,6 @@ void SAL_CALL Frame::initialize( const css::uno::Reference< css::awt::XWindow >& VclPtr<vcl::Window> pWindow = VCLUnoHelper::GetWindow(xWindow); if (pWindow && pWindow->IsVisible()) m_bIsHidden = false; - // must be cleared while under the SolarMutex - pWindow.clear(); css::uno::Reference< css::frame::XLayoutManager2 > xLayoutManager = m_xLayoutManager; @@ -1544,7 +1542,6 @@ sal_Bool SAL_CALL Frame::setComponent(const css::uno::Reference< css::awt::XWind css::uno::Reference< css::frame::XController > xOldController = m_xController; VclPtr<vcl::Window> pOwnWindow = VCLUnoHelper::GetWindow( xContainerWindow ); bool bHadFocus = pOwnWindow->HasChildPathFocus(); - pOwnWindow.clear(); // must be cleared under SolarMutex bool bWasConnected = m_bConnected; aReadLock.clear(); /* } SAFE */ diff --git a/framework/source/uielement/menubarmanager.cxx b/framework/source/uielement/menubarmanager.cxx index 066e245674fb..530df3e77fcd 100644 --- a/framework/source/uielement/menubarmanager.cxx +++ b/framework/source/uielement/menubarmanager.cxx @@ -222,9 +222,6 @@ MenuBarManager::~MenuBarManager() m_aAsyncSettingsTimer.Stop(); SAL_WARN_IF( OWeakObject::m_refCount != 0, "fwk.uielement", "Who wants to delete an object with refcount > 0!" ); - - SolarMutexGuard aGuard; - m_pVCLMenu.clear(); } void MenuBarManager::Destroy() |