From a1d493fad210fdae74b7bbc9dba3b2aa62c10963 Mon Sep 17 00:00:00 2001 From: Michael Stahl Date: Mon, 9 Jul 2012 16:55:34 +0200 Subject: [PATCH] Revert "attempt fix of hang on base close, due to solarmutex deadlock on join" This reverts commit 5b2cb23c429e1be1099008473770c634ce96c969. That did not fix the bug (fdo#47021), but apparently it does cause problems, such as the failure of the sfx2 DocumentEvents test (that doesn't crash any more since 228a3f8b9f279e80917968d9780e822a1d684ada); without the SolarMutexReleaser the test doesn't fail for me. --- framework/inc/dispatch/closedispatcher.hxx | 1 - framework/source/dispatch/closedispatcher.cxx | 11 ++--------- 2 files changed, 2 insertions(+), 10 deletions(-) diff --git a/framework/inc/dispatch/closedispatcher.hxx b/framework/inc/dispatch/closedispatcher.hxx index 9ec937c6ab91..c273274fd0aa 100644 --- a/framework/inc/dispatch/closedispatcher.hxx +++ b/framework/inc/dispatch/closedispatcher.hxx @@ -210,7 +210,6 @@ class CloseDispatcher : public css::lang::XTypeProvider during they call us ... */ DECL_LINK( impl_asyncCallback, void* ); - void doClose(); //--------------------------------------- /** @short prepare m_xCloseFrame so it should be closeable without problems. diff --git a/framework/source/dispatch/closedispatcher.cxx b/framework/source/dispatch/closedispatcher.cxx index 4a5413158443..1a332676b172 100644 --- a/framework/source/dispatch/closedispatcher.cxx +++ b/framework/source/dispatch/closedispatcher.cxx @@ -282,13 +282,6 @@ void SAL_CALL CloseDispatcher::dispatchWithNotification(const css::util::URL& or shutdown the whole application. */ IMPL_LINK_NOARG(CloseDispatcher, impl_asyncCallback) -{ - SolarMutexReleaser aReleaser; - doClose(); - return 0; -} - -void CloseDispatcher::doClose() { try { @@ -318,7 +311,7 @@ void CloseDispatcher::doClose() // frame already dead ?! // Nothing to do ! if (! xCloseFrame.is()) - return; + return 0; sal_Bool bCloseFrame = sal_False; sal_Bool bEstablishBackingMode = sal_False; @@ -474,7 +467,7 @@ void CloseDispatcher::doClose() { } - return; + return 0; } //-----------------------------------------------