[Libreoffice-commits] core.git: Branch 'libreoffice-4-4' - sc/source

Matthew J. Francis mjay.francis at gmail.com
Thu Nov 27 05:33:53 PST 2014


 sc/source/filter/excel/xetable.cxx |    5 ++++-
 1 file changed, 4 insertions(+), 1 deletion(-)

New commits:
commit e678a333c1f4a7a1bf8594d888938e598ed2f6a1
Author: Matthew J. Francis <mjay.francis at gmail.com>
Date:   Thu Nov 27 12:08:07 2014 +0800

    fdo#86687 Avoid deadlock updating progress bar
    
    Change-Id: I13f93372fedc67bfd25d36a5bee10a004fe9f8f6
    Reviewed-on: https://gerrit.libreoffice.org/13147
    Reviewed-by: Michael Meeks <michael.meeks at collabora.com>
    Tested-by: Michael Meeks <michael.meeks at collabora.com>

diff --git a/sc/source/filter/excel/xetable.cxx b/sc/source/filter/excel/xetable.cxx
index 01c286d..66df5d6 100644
--- a/sc/source/filter/excel/xetable.cxx
+++ b/sc/source/filter/excel/xetable.cxx
@@ -2087,9 +2087,12 @@ void XclExpRowBuffer::Finalize( XclExpDefaultRowData& rDefRowData, const ScfUInt
         for ( itr = itrBeg; itr != itrEnd; ++itr, ++nIdx )
             pTasks[ nIdx % nThreads ]->push_back( itr->second.get() );
 
-        for ( size_t i = 0; i < nThreads; i++ )
+        for ( size_t i = 1; i < nThreads; i++ )
             rPool.pushTask( pTasks[ i ] );
 
+        // Progress bar updates must be synchronous to avoid deadlock
+        pTasks[0]->doWork();
+
         rPool.waitUntilEmpty();
     }
 


More information about the Libreoffice-commits mailing list