chart2/source/model/main/ChartModel.cxx | 2 -- framework/source/dispatch/closedispatcher.cxx | 1 - framework/source/layoutmanager/toolbarlayoutmanager.cxx | 1 - framework/source/loadenv/loadenv.cxx | 1 - framework/source/services/frame.cxx | 3 --- framework/source/uielement/menubarmanager.cxx | 3 --- include/vcl/event.hxx | 1 - include/vcl/vclreferencebase.hxx | 2 -- scripting/Library_protocolhandler.mk | 1 - sdext/CppunitTest_sdext_pdfimport.mk | 1 - sdext/Executable_pdf2xml.mk | 1 - sdext/Executable_pdfunzip.mk | 1 - sdext/Library_pdfimport.mk | 1 - vcl/source/app/vclevent.cxx | 12 +++--------- vcl/source/window/event.cxx | 7 ------- vcl/source/window/menu.cxx | 16 +++------------- vcl/source/window/mouse.cxx | 3 --- 17 files changed, 6 insertions(+), 51 deletions(-)
New commits: commit 872cf486c542ae66bbf65e0270a642f4019df678 Author: Noel Grandin <noel.gran...@collabora.co.uk> Date: Tue Dec 13 12:37:04 2016 +0200 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 <c...@libreoffice.org> Reviewed-by: Noel Grandin <noel.gran...@collabora.co.uk> diff --git a/chart2/source/model/main/ChartModel.cxx b/chart2/source/model/main/ChartModel.cxx index 9a4dfe2..72e6151 100644 --- a/chart2/source/model/main/ChartModel.cxx +++ b/chart2/source/model/main/ChartModel.cxx @@ -35,7 +35,6 @@ #include <svx/charthelper.hxx> #include <vcl/openglwin.hxx> -#include <vcl/svapp.hxx> #include <com/sun/star/chart/ChartDataRowSource.hpp> @@ -1419,7 +1418,6 @@ void ChartModel::setWindow( const sal_uInt64 nWindowPtr ) throw (uno::RuntimeException, std::exception) { OpenGLWindow* pWindow = reinterpret_cast<OpenGLWindow*>(nWindowPtr); - SolarMutexGuard aGuard; mpOpenGLWindow = pWindow; } diff --git a/framework/source/dispatch/closedispatcher.cxx b/framework/source/dispatch/closedispatcher.cxx index 6d5b03b..afab7e8 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 385fcd4..f870b40 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 012a7ba6..8e12882 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 da5a346..09e5104 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 066e2456..530df3e 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() diff --git a/include/vcl/event.hxx b/include/vcl/event.hxx index a5820c1..9737bac 100644 --- a/include/vcl/event.hxx +++ b/include/vcl/event.hxx @@ -317,7 +317,6 @@ public: NotifyEvent( MouseNotifyEvent nEventType, vcl::Window* pWindow, const void* pEvent = nullptr ); - ~NotifyEvent(); MouseNotifyEvent GetType() const { return mnEventType; } vcl::Window* GetWindow() const { return mpWindow; } diff --git a/include/vcl/vclreferencebase.hxx b/include/vcl/vclreferencebase.hxx index ce3e973..1813f86 100644 --- a/include/vcl/vclreferencebase.hxx +++ b/include/vcl/vclreferencebase.hxx @@ -35,14 +35,12 @@ class VCL_DLLPUBLIC VclReferenceBase public: inline void acquire() const { - DBG_TESTSOLARMUTEX(); assert(mnRefCnt>0); mnRefCnt++; } inline void release() const { - DBG_TESTSOLARMUTEX(); assert(mnRefCnt>0); if (!--mnRefCnt) delete this; diff --git a/scripting/Library_protocolhandler.mk b/scripting/Library_protocolhandler.mk index 15cf1e0..4134c2a 100644 --- a/scripting/Library_protocolhandler.mk +++ b/scripting/Library_protocolhandler.mk @@ -27,7 +27,6 @@ $(eval $(call gb_Library_use_libraries,protocolhandler,\ fwe \ sal \ sfx \ - tl \ vcl \ $(gb_UWINAPI) \ )) diff --git a/sdext/CppunitTest_sdext_pdfimport.mk b/sdext/CppunitTest_sdext_pdfimport.mk index 0676aaf..2642786 100644 --- a/sdext/CppunitTest_sdext_pdfimport.mk +++ b/sdext/CppunitTest_sdext_pdfimport.mk @@ -29,7 +29,6 @@ $(eval $(call gb_CppunitTest_use_libraries,sdext_pdfimport,\ cppuhelper \ sal \ test \ - tl \ unotest \ $(gb_UWINAPI) \ )) diff --git a/sdext/Executable_pdf2xml.mk b/sdext/Executable_pdf2xml.mk index add8262..373f40d 100644 --- a/sdext/Executable_pdf2xml.mk +++ b/sdext/Executable_pdf2xml.mk @@ -30,7 +30,6 @@ $(eval $(call gb_Executable_use_libraries,pdf2xml,\ unotest \ cppuhelper \ sal \ - tl \ )) $(eval $(call gb_Executable_use_library_objects,pdf2xml,pdfimport)) diff --git a/sdext/Executable_pdfunzip.mk b/sdext/Executable_pdfunzip.mk index 0004adf..74b1a96 100644 --- a/sdext/Executable_pdfunzip.mk +++ b/sdext/Executable_pdfunzip.mk @@ -28,7 +28,6 @@ $(eval $(call gb_Executable_use_libraries,pdfunzip,\ cppuhelper \ sal \ vcl \ - tl \ )) $(eval $(call gb_Executable_use_library_objects,pdfunzip,pdfimport)) diff --git a/sdext/Library_pdfimport.mk b/sdext/Library_pdfimport.mk index 411c047..d181ae1 100644 --- a/sdext/Library_pdfimport.mk +++ b/sdext/Library_pdfimport.mk @@ -27,7 +27,6 @@ $(eval $(call gb_Library_use_libraries,pdfimport,\ cppu \ cppuhelper \ sal \ - tl \ )) $(eval $(call gb_Library_use_externals,pdfimport,\ diff --git a/vcl/source/app/vclevent.cxx b/vcl/source/app/vclevent.cxx index 4fec056..2cab94c 100644 --- a/vcl/source/app/vclevent.cxx +++ b/vcl/source/app/vclevent.cxx @@ -92,17 +92,11 @@ VclWindowEvent::VclWindowEvent( vcl::Window* pWin, VclEventId n, void* pDat ) : VclWindowEvent::~VclWindowEvent() {} VclMenuEvent::VclMenuEvent( Menu* pM, VclEventId n, sal_uInt16 nPos ) - : VclSimpleEvent(n), mnPos(nPos) -{ - SolarMutexGuard aGuard; - pMenu = pM; -} + : VclSimpleEvent(n), pMenu(pM), mnPos(nPos) +{} VclMenuEvent::~VclMenuEvent() -{ - SolarMutexGuard aGuard; - pMenu.clear(); -} +{} Menu* VclMenuEvent::GetMenu() const { diff --git a/vcl/source/window/event.cxx b/vcl/source/window/event.cxx index 8feb212..e8bb662 100644 --- a/vcl/source/window/event.cxx +++ b/vcl/source/window/event.cxx @@ -652,16 +652,9 @@ void Window::ImplCallFocusChangeActivate( vcl::Window* pNewOverlapWindow, NotifyEvent::NotifyEvent( MouseNotifyEvent nEventType, vcl::Window* pWindow, const void* pEvent ) { - SolarMutexGuard aVclGuard; mpWindow = pWindow; mpData = const_cast<void*>(pEvent); mnEventType = nEventType; } -NotifyEvent::~NotifyEvent() -{ - SolarMutexGuard aVclGuard; - mpWindow.clear(); -} - /* vim:set shiftwidth=4 softtabstop=4 expandtab: */ diff --git a/vcl/source/window/menu.cxx b/vcl/source/window/menu.cxx index 90bd8af..00b931e 100644 --- a/vcl/source/window/menu.cxx +++ b/vcl/source/window/menu.cxx @@ -1407,7 +1407,6 @@ void Menu::ImplAddDel( ImplMenuDelData& rDel ) SAL_WARN_IF( rDel.mpMenu, "vcl", "Menu::ImplAddDel(): cannot add ImplMenuDelData twice !" ); if( !rDel.mpMenu ) { - SolarMutexGuard aGuard; rDel.mpMenu = this; rDel.mpNext = mpFirstDel; mpFirstDel = &rDel; @@ -1416,10 +1415,7 @@ void Menu::ImplAddDel( ImplMenuDelData& rDel ) void Menu::ImplRemoveDel( ImplMenuDelData& rDel ) { - { - SolarMutexGuard aGuard; - rDel.mpMenu = nullptr; - } + rDel.mpMenu = nullptr; if ( mpFirstDel == &rDel ) { mpFirstDel = rDel.mpNext; @@ -2605,10 +2601,7 @@ bool Menu::HandleMenuActivateEvent( Menu *pMenu ) const { ImplMenuDelData aDelData( this ); - { - SolarMutexGuard aGuard; - pMenu->pStartedFrom = const_cast<Menu*>(this); - } + pMenu->pStartedFrom = const_cast<Menu*>(this); pMenu->bInCallback = true; pMenu->Activate(); @@ -2624,10 +2617,7 @@ bool Menu::HandleMenuDeActivateEvent( Menu *pMenu ) const { ImplMenuDelData aDelData( this ); - { - SolarMutexGuard aGuard; - pMenu->pStartedFrom = const_cast<Menu*>(this); - } + pMenu->pStartedFrom = const_cast<Menu*>(this); pMenu->bInCallback = true; pMenu->Deactivate(); if( !aDelData.isDeleted() ) diff --git a/vcl/source/window/mouse.cxx b/vcl/source/window/mouse.cxx index b769a83..d1cc051 100644 --- a/vcl/source/window/mouse.cxx +++ b/vcl/source/window/mouse.cxx @@ -161,10 +161,7 @@ void Window::ImplCallMouseMove( sal_uInt16 nMouseCode, bool bModChanged ) void Window::ImplGenerateMouseMove() { if ( !mpWindowImpl->mpFrameData->mnMouseMoveId ) - { - SolarMutexGuard aVclGuard; mpWindowImpl->mpFrameData->mnMouseMoveId = Application::PostUserEvent( LINK( mpWindowImpl->mpFrameWindow, Window, ImplGenerateMouseMoveHdl ), nullptr, true ); - } } IMPL_LINK_NOARG(Window, ImplGenerateMouseMoveHdl, void*, void) _______________________________________________ Libreoffice-commits mailing list libreoffice-comm...@lists.freedesktop.org https://lists.freedesktop.org/mailman/listinfo/libreoffice-commits