diff options
author | Michael Meeks <michael.meeks@collabora.com> | 2017-11-24 13:43:03 +0000 |
---|---|---|
committer | Michael Meeks <michael.meeks@collabora.com> | 2017-11-25 11:10:49 +0100 |
commit | b0e37303df56472fdc7782b977326c2391fdab07 (patch) | |
tree | 2ddde762f31c07b2d83da1c11b953d50d749c4cb /vcl | |
parent | 4271a447cbc9f517e6cbd257790d08672f973b0a (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>
Diffstat (limited to 'vcl')
-rw-r--r-- | vcl/source/window/dialog.cxx | 14 |
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 |