[Libreoffice-commits] core.git: Branch 'private/kohei/xlsx-import-speedup' - 2 commits - oox/source sc/source

Kohei Yoshida kohei.yoshida at collabora.com
Thu Nov 21 09:46:59 PST 2013


 oox/source/export/drawingml.cxx          |    2 +-
 sc/source/filter/oox/worksheethelper.cxx |   14 ++++++++------
 2 files changed, 9 insertions(+), 7 deletions(-)

New commits:
commit aa34143f0f4be9941ef499e2e12651a9a564ed37
Author: Kohei Yoshida <kohei.yoshida at collabora.com>
Date:   Thu Nov 21 12:18:56 2013 -0500

    Avoid re-drawing progress bar too frequently.
    
    Change-Id: I01dcd6d421c1f648b4cd8413e3baf50fd26d4c8f

diff --git a/sc/source/filter/oox/worksheethelper.cxx b/sc/source/filter/oox/worksheethelper.cxx
index 0ff9293..6d0ea85 100644
--- a/sc/source/filter/oox/worksheethelper.cxx
+++ b/sc/source/filter/oox/worksheethelper.cxx
@@ -96,12 +96,14 @@ namespace {
 
 void lclUpdateProgressBar( const ISegmentProgressBarRef& rxProgressBar, const CellRangeAddress& rUsedArea, sal_Int32 nRow )
 {
-    if( rxProgressBar.get() && (rUsedArea.StartRow <= nRow) && (nRow <= rUsedArea.EndRow) )
-    {
-        double fPosition = static_cast< double >( nRow - rUsedArea.StartRow + 1 ) / (rUsedArea.EndRow - rUsedArea.StartRow + 1);
-        if( rxProgressBar->getPosition() < fPosition )
-            rxProgressBar->setPosition( fPosition );
-    }
+    if (!rxProgressBar || nRow < rUsedArea.StartRow || rUsedArea.EndRow < nRow)
+        return;
+
+    double fCurPos = rxProgressBar->getPosition();
+    double fNewPos = static_cast<double>(nRow - rUsedArea.StartRow + 1.0) / (rUsedArea.EndRow - rUsedArea.StartRow + 1.0);
+    if (fCurPos < fNewPos && (fNewPos - fCurPos) > 0.3)
+        // Try not to re-draw progress bar too frequently.
+        rxProgressBar->setPosition(fNewPos);
 }
 
 void lclUpdateProgressBar( const ISegmentProgressBarRef& rxProgressBar, double fPosition )
commit 0fa928577f2825a7111c6af960dc4dcfbbdd68df
Author: Kohei Yoshida <kohei.yoshida at collabora.com>
Date:   Thu Nov 21 09:43:46 2013 -0500

    Compiler warning.
    
    Change-Id: I66b16e9767369fd54611f92d66cd1b43f4e8c5a8

diff --git a/oox/source/export/drawingml.cxx b/oox/source/export/drawingml.cxx
index 3f5731b..7526741 100644
--- a/oox/source/export/drawingml.cxx
+++ b/oox/source/export/drawingml.cxx
@@ -782,7 +782,7 @@ void DrawingML::WriteRunProperties( Reference< XPropertySet > rRun, sal_Bool bIs
         mAny >>= nCharEscapement;
 
     if( nCharEscapement && GETAD( CharEscapementHeight ) ) {
-        sal_uInt32 nCharEscapementHeight;
+        sal_uInt32 nCharEscapementHeight = 0;
         mAny >>= nCharEscapementHeight;
         nSize = (nSize * nCharEscapementHeight) / 100;
         // MSO uses default ~58% size


More information about the Libreoffice-commits mailing list