[Libreoffice-commits] core.git: include/connectivity
Michael Stahl
mstahl at redhat.com
Tue Jun 21 19:44:53 UTC 2016
include/connectivity/OSubComponent.hxx | 2 ++
1 file changed, 2 insertions(+)
New commits:
commit cdb4efad0eba9a049d36b20c459fa530636d9c79
Author: Michael Stahl <mstahl at redhat.com>
Date: Tue Jun 21 17:55:44 2016 +0200
connectivity: disable connectivity::release() for now
This bizarre thing essentially does the same as
WeakComponentImplHelperBase::release(), except that
1) it forgets to call disposeWeakConnectionPoint()
2) it doesn't catch exceptions from dispose()
3) it restores the m_xParent member after the dispose() call
4) it's racy because the "else" branch may be executed at a time
when another thread has already concurrently deleted the object
This is rather mysterious and there is no obvious reason why a manual
dispose() call should clear m_xParent (as the users tend to do, by calling
dispose_ChildImpl() from their disposing()), but a dispose() called from
release() should restore m_xParent again.
Let's try to stop doing this madness and see if anything breaks.
Change-Id: I88a60fe1a7eeb625442faf436c9a3deb3c59941c
Reviewed-on: https://gerrit.libreoffice.org/26554
Tested-by: Jenkins <ci at libreoffice.org>
Reviewed-by: Michael Stahl <mstahl at redhat.com>
diff --git a/include/connectivity/OSubComponent.hxx b/include/connectivity/OSubComponent.hxx
index 1aa9d15..8f80e8e 100644
--- a/include/connectivity/OSubComponent.hxx
+++ b/include/connectivity/OSubComponent.hxx
@@ -72,11 +72,13 @@ namespace connectivity
}
void relase_ChildImpl()
{
+#if 0
::connectivity::release(m_pDerivedImplementation->m_refCount,
m_pDerivedImplementation->WEAK::rBHelper,
m_xParent,
m_pDerivedImplementation);
+#endif
m_pDerivedImplementation->WEAK::release();
}
};
More information about the Libreoffice-commits
mailing list