diff options
author | Michael Meeks <michael.meeks@suse.com> | 2012-03-05 21:18:00 +0000 |
---|---|---|
committer | Michael Meeks <michael.meeks@suse.com> | 2012-03-05 22:32:21 +0000 |
commit | 5b2cb23c429e1be1099008473770c634ce96c969 (patch) | |
tree | 74a88064abb6402ef44abac85922a688ceaa5ca0 /framework/source/dispatch | |
parent | 3dcf3c07aaff2eec0379135ec605396b7002f6a7 (diff) |
attempt fix of hang on base close, due to solarmutex deadlock on join
Diffstat (limited to 'framework/source/dispatch')
-rw-r--r-- | framework/source/dispatch/closedispatcher.cxx | 11 |
1 files changed, 9 insertions, 2 deletions
diff --git a/framework/source/dispatch/closedispatcher.cxx b/framework/source/dispatch/closedispatcher.cxx index 01523d2e4f06..0b670eb7b501 100644 --- a/framework/source/dispatch/closedispatcher.cxx +++ b/framework/source/dispatch/closedispatcher.cxx @@ -268,6 +268,13 @@ void SAL_CALL CloseDispatcher::dispatchWithNotification(const css::util::URL& */ IMPL_LINK_NOARG(CloseDispatcher, impl_asyncCallback) { + SolarMutexReleaser aReleaser; + doClose(); + return 0; +} + +void CloseDispatcher::doClose() +{ try { @@ -296,7 +303,7 @@ IMPL_LINK_NOARG(CloseDispatcher, impl_asyncCallback) // frame already dead ?! // Nothing to do ! if (! xCloseFrame.is()) - return 0; + return; sal_Bool bCloseFrame = sal_False; sal_Bool bEstablishBackingMode = sal_False; @@ -452,7 +459,7 @@ IMPL_LINK_NOARG(CloseDispatcher, impl_asyncCallback) { } - return 0; + return; } //----------------------------------------------- |