[Libreoffice-commits] core.git: framework/source

Jan-Marek Glogowski glogow at fbihome.de
Wed Sep 27 04:53:53 UTC 2017


 framework/source/services/desktop.cxx |    9 +++++----
 1 file changed, 5 insertions(+), 4 deletions(-)

New commits:
commit d21212cadebad682e7e3cce2b93b7d9a6ee1e1ec
Author: Jan-Marek Glogowski <glogow at fbihome.de>
Date:   Tue Sep 26 12:22:16 2017 +0200

    tdf#112646 Flush the clipboard holding SolarMutex
    
    It seems Desktop::terminate can be called with or without the
    SolarMutex. So make sure we actually hold the mutex to release it
    correctly when flushing the clipboard on termination.
    
    Change-Id: Ie42daf5dba0f4208318a8c1fe463cd3a80dd9141
    Reviewed-on: https://gerrit.libreoffice.org/42802
    Tested-by: Jenkins <ci at libreoffice.org>
    Reviewed-by: Tor Lillqvist <tml at collabora.com>
    Tested-by: Tor Lillqvist <tml at collabora.com>

diff --git a/framework/source/services/desktop.cxx b/framework/source/services/desktop.cxx
index 2f3ffe8c2a56..c892c6eb7a9a 100644
--- a/framework/source/services/desktop.cxx
+++ b/framework/source/services/desktop.cxx
@@ -322,11 +322,12 @@ sal_Bool SAL_CALL Desktop::terminate()
 
         // The clipboard listener needs to be the first. It can create copies of the
         // existing document which needs basically all the available infrastructure.
-        impl_sendTerminateToClipboard();
-
-        impl_sendNotifyTerminationEvent();
         {
-            SolarMutexGuard aGuard;
+            SolarMutexResettableGuard aGuard;
+            impl_sendTerminateToClipboard();
+            aGuard.clear();
+            impl_sendNotifyTerminationEvent();
+            aGuard.reset();
             Scheduler::ProcessEventsToIdle();
         }
 


More information about the Libreoffice-commits mailing list