summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorMichael Meeks <michael.meeks@collabora.com>2017-11-24 13:43:03 +0000
committerMichael Meeks <michael.meeks@collabora.com>2017-11-25 11:10:49 +0100
commitb0e37303df56472fdc7782b977326c2391fdab07 (patch)
tree2ddde762f31c07b2d83da1c11b953d50d749c4cb
parent4271a447cbc9f517e6cbd257790d08672f973b0a (diff)
tdf#114025 - avoid deadlock between x11 clipboard and the lock dialog.
Change-Id: I06e66f59531e7ff6a2e0bf874ebcf2a882d89b63 Reviewed-on: https://gerrit.libreoffice.org/45228 Tested-by: Jenkins <ci@libreoffice.org> Reviewed-by: Michael Meeks <michael.meeks@collabora.com>
-rw-r--r--vcl/source/window/dialog.cxx14
1 files changed, 8 insertions, 6 deletions
diff --git a/vcl/source/window/dialog.cxx b/vcl/source/window/dialog.cxx
index 4db7c9674a83..a55dc52705a4 100644
--- a/vcl/source/window/dialog.cxx
+++ b/vcl/source/window/dialog.cxx
@@ -1063,13 +1063,15 @@ short Dialog::Execute()
return 0;
VclPtr<vcl::Window> xWindow = this;
-
- css::uno::Reference< css::uno::XComponentContext > xContext(
+ {
+ SolarMutexReleaser aReleaser; // tdf#114025
+ css::uno::Reference< css::uno::XComponentContext > xContext(
comphelper::getProcessComponentContext() );
- css::uno::Reference<css::frame::XGlobalEventBroadcaster> xEventBroadcaster(css::frame::theGlobalEventBroadcaster::get(xContext), css::uno::UNO_QUERY_THROW);
- css::document::DocumentEvent aObject;
- aObject.EventName = "DialogExecute";
- xEventBroadcaster->documentEventOccured(aObject);
+ css::uno::Reference<css::frame::XGlobalEventBroadcaster> xEventBroadcaster(css::frame::theGlobalEventBroadcaster::get(xContext), css::uno::UNO_QUERY_THROW);
+ css::document::DocumentEvent aObject;
+ aObject.EventName = "DialogExecute";
+ xEventBroadcaster->documentEventOccured(aObject);
+ }
UITestLogger::getInstance().log("DialogExecute");
// Yield util EndDialog is called or dialog gets destroyed
// (the latter should not happen, but better safe than sorry