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

Jan-Marek Glogowski glogow at fbihome.de
Tue Mar 6 08:30:34 UTC 2018


 fpicker/source/win32/filepicker/asyncrequests.cxx |    1 +
 1 file changed, 1 insertion(+)

New commits:
commit 3e38b81a65ced47595e9760bdc622d9434b72cc0
Author: Jan-Marek Glogowski <glogow at fbihome.de>
Date:   Mon Mar 5 20:43:53 2018 +0100

    tdf#116147 guard triggerRequestThreadAware
    
    It didn't help putting a SolarMutexGuard into
    VCLXButton::ProcessWindowEvent, which was my first suspect in my
    own backtrace, as VCLXWindowImpl::OnProcessCallbacks releases it
    to process the callbacks.
    
    Since the gtk backend also guards all calls into the file picker
    code, I think it's save to do the same for the Windows picker.
    
    I have no idea where it is actually released again...
    
    Change-Id: I3ab3b47904dc3d0033739a82f7afd91e6e80403d
    Reviewed-on: https://gerrit.libreoffice.org/50783
    Tested-by: Jenkins <ci at libreoffice.org>
    Reviewed-by: Jan-Marek Glogowski <glogow at fbihome.de>

diff --git a/fpicker/source/win32/filepicker/asyncrequests.cxx b/fpicker/source/win32/filepicker/asyncrequests.cxx
index e3e97a0e090b..766a2309d991 100644
--- a/fpicker/source/win32/filepicker/asyncrequests.cxx
+++ b/fpicker/source/win32/filepicker/asyncrequests.cxx
@@ -138,6 +138,7 @@ void AsyncRequests::triggerRequestThreadAware(const RequestRef& rRequest,
 {
     oslThreadIdentifier nOurThreadId    = getIdentifier();
     oslThreadIdentifier nCallerThreadId = ::osl::Thread::getCurrentIdentifier();
+    SolarMutexGuard aGuard;
     if (nOurThreadId == nCallerThreadId)
         triggerRequestDirectly(rRequest);
     else if (nWait == BLOCKED)


More information about the Libreoffice-commits mailing list