[Libreoffice-commits] core.git: Branch 'libreoffice-4-2' - vcl/unx

Jan-Marek Glogowski glogow at fbihome.de
Sat Mar 22 08:03:39 PDT 2014


 vcl/unx/kde4/KDEXLib.cxx |   17 +++--------------
 1 file changed, 3 insertions(+), 14 deletions(-)

New commits:
commit 7317d3132ab816a4bfa394fd93f55e0d12e6d6e6
Author: Jan-Marek Glogowski <glogow at fbihome.de>
Date:   Thu Mar 13 21:55:31 2014 +0100

    Revert "Rewrite Qt4 based nested yield mutex locking."
    
    This reverts the unx/kde4/KDEXLib.cxx part of
    
    commit 13a34f4c6307d1bd2443cbf3fbd83bfdd8cdbafb.
    
    Conflicts:
    
    	vcl/unx/kde4/KDE4FilePicker.cxx
    	vcl/unx/kde4/KDEXLib.cxx
    
    (cherry picked from commit daf011870efae282244c0298494820d9a0c6d3bc)
    
    Change-Id: I4075fc26d54e5abb2e1cdb535d84f16c8fd3df09
    Reviewed-on: https://gerrit.libreoffice.org/8705
    Reviewed-by: Caolán McNamara <caolanm at redhat.com>
    Tested-by: Caolán McNamara <caolanm at redhat.com>

diff --git a/vcl/unx/kde4/KDEXLib.cxx b/vcl/unx/kde4/KDEXLib.cxx
index 6bd6c1a..e08856e 100644
--- a/vcl/unx/kde4/KDEXLib.cxx
+++ b/vcl/unx/kde4/KDEXLib.cxx
@@ -301,9 +301,6 @@ void KDEXLib::socketNotifierActivated( int fd )
 
 void KDEXLib::Yield( bool bWait, bool bHandleAllCurrentEvents )
 {
-    // Nested yield loop counter.
-    static int loop_depth = 0;
-
     if( eventLoopType == LibreOfficeEventLoop )
     {
         if( qApp->thread() == QThread::currentThread())
@@ -317,21 +314,13 @@ void KDEXLib::Yield( bool bWait, bool bHandleAllCurrentEvents )
 
     // if we are the main thread (which is where the event processing is done),
     // good, just do it
-    if( qApp->thread() == QThread::currentThread()) {
-        // Release the yield lock before entering a nested loop.
-        if (loop_depth > 0)
-            SalYieldMutexReleaser aReleaser;
-        loop_depth++;
+    if( qApp->thread() == QThread::currentThread())
         processYield( bWait, bHandleAllCurrentEvents );
-        loop_depth--;
-    }
-    else {
+    else
+    {
         // we were called from another thread;
         // release the yield lock to prevent deadlock.
         SalYieldMutexReleaser aReleaser;
-
-        // if this deadlocks, event processing needs to go into a separate
-        // thread or some other solution needs to be found
         Q_EMIT processYieldSignal( bWait, bHandleAllCurrentEvents );
     }
 }


More information about the Libreoffice-commits mailing list