Revert "verify SolarMutex when ref-counting VclPtr" series
This reverts the following commits: commit722f4e1d86
tdf#104573 - Assertion failed: SolarMutex not locked commitf04ec99f5e
tdf#104573 - Assertion failed: SolarMutex not locked commit71b1e3ff63
tdf#104573 - Assertion failed: SolarMutex not locked when trying commite794ce1eef
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>
This commit is contained in:
parent
b252dbf59d
commit
872cf486c5
17 changed files with 6 additions and 51 deletions
|
@ -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;
|
||||
}
|
||||
|
||||
|
|
|
@ -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());
|
||||
|
|
|
@ -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()
|
||||
|
|
|
@ -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
|
||||
|
|
|
@ -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 */
|
||||
|
|
|
@ -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()
|
||||
|
|
|
@ -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; }
|
||||
|
|
|
@ -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;
|
||||
|
|
|
@ -27,7 +27,6 @@ $(eval $(call gb_Library_use_libraries,protocolhandler,\
|
|||
fwe \
|
||||
sal \
|
||||
sfx \
|
||||
tl \
|
||||
vcl \
|
||||
$(gb_UWINAPI) \
|
||||
))
|
||||
|
|
|
@ -29,7 +29,6 @@ $(eval $(call gb_CppunitTest_use_libraries,sdext_pdfimport,\
|
|||
cppuhelper \
|
||||
sal \
|
||||
test \
|
||||
tl \
|
||||
unotest \
|
||||
$(gb_UWINAPI) \
|
||||
))
|
||||
|
|
|
@ -30,7 +30,6 @@ $(eval $(call gb_Executable_use_libraries,pdf2xml,\
|
|||
unotest \
|
||||
cppuhelper \
|
||||
sal \
|
||||
tl \
|
||||
))
|
||||
|
||||
$(eval $(call gb_Executable_use_library_objects,pdf2xml,pdfimport))
|
||||
|
|
|
@ -28,7 +28,6 @@ $(eval $(call gb_Executable_use_libraries,pdfunzip,\
|
|||
cppuhelper \
|
||||
sal \
|
||||
vcl \
|
||||
tl \
|
||||
))
|
||||
|
||||
$(eval $(call gb_Executable_use_library_objects,pdfunzip,pdfimport))
|
||||
|
|
|
@ -27,7 +27,6 @@ $(eval $(call gb_Library_use_libraries,pdfimport,\
|
|||
cppu \
|
||||
cppuhelper \
|
||||
sal \
|
||||
tl \
|
||||
))
|
||||
|
||||
$(eval $(call gb_Library_use_externals,pdfimport,\
|
||||
|
|
|
@ -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
|
||||
{
|
||||
|
|
|
@ -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: */
|
||||
|
|
|
@ -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() )
|
||||
|
|
|
@ -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)
|
||||
|
|
Loading…
Reference in a new issue