[Libreoffice-commits] core.git: chart2/source framework/source include/vcl scripting/Library_protocolhandler.mk sdext/CppunitTest_sdext_pdfimport.mk sdext/Executable_pdf2xml.mk sdext/Executable_pdfunzip.mk sdext/Library_pdfimport.mk vcl/source
Noel Grandin
noel.grandin at collabora.co.uk
Tue Dec 13 13:05:09 UTC 2016
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.grandin at 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 <ci at libreoffice.org>
Reviewed-by: Noel Grandin <noel.grandin at 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)
More information about the Libreoffice-commits
mailing list