[Libreoffice-commits] .: Branch 'libreoffice-3-6-2' - 3 commits - sc/source

Libreoffice Gerrit user logerrit at kemper.freedesktop.org
Fri Sep 21 06:45:20 PDT 2012


 sc/source/core/data/conditio.cxx  |   17 +++++++++++++++--
 sc/source/core/data/fillinfo.cxx  |    2 ++
 sc/source/filter/xml/xmlstyli.cxx |    2 +-
 3 files changed, 18 insertions(+), 3 deletions(-)

New commits:
commit e48da0413875b2abbca0156d47dcf13ad85b301d
Author: Markus Mohrhard <markus.mohrhard at googlemail.com>
Date:   Fri Sep 14 18:51:53 2012 +0200

    don't add old cond formats if new ones are already loaded, fdo#54749
    
    Change-Id: Ib0cbe1a3347e7231e7908b9bd8135e984e6ef644
    Signed-off-by: Kohei Yoshida <kohei.yoshida at gmail.com>
    Signed-off-by: Michael Meeks <michael.meeks at suse.com>
    Signed-off-by: Fridrich Å trba <fridrich.strba at bluewin.ch>

diff --git a/sc/source/filter/xml/xmlstyli.cxx b/sc/source/filter/xml/xmlstyli.cxx
index 93e95fe..7388d86 100644
--- a/sc/source/filter/xml/xmlstyli.cxx
+++ b/sc/source/filter/xml/xmlstyli.cxx
@@ -424,7 +424,7 @@ SvXMLImportContext *XMLTableStyleContext::CreateChildContext(
 
 void XMLTableStyleContext::ApplyCondFormat( uno::Sequence<table::CellRangeAddress> xCellRanges )
 {
-    if(!mpCondFormat)
+    if(!mpCondFormat || GetScImport().HasNewCondFormatData())
         return;
 
     ScRangeList rRange;
commit 6fda5d42a4f4a7ff15e86d70a3c4b80106fab373
Author: Markus Mohrhard <markus.mohrhard at googlemail.com>
Date:   Tue Sep 18 19:31:28 2012 +0200

    rows with cond formats don't have empty background, fdo#54661, fdo#52535
    
    Change-Id: Iecab7e80c533caa4e36b6d2534d8446c0329fecd
    Signed-off-by: Kohei Yoshida <kohei.yoshida at gmail.com>
    Signed-off-by: Michael Meeks <michael.meeks at suse.com>
    Signed-off-by: Fridrich Å trba <fridrich.strba at bluewin.ch>

diff --git a/sc/source/core/data/fillinfo.cxx b/sc/source/core/data/fillinfo.cxx
index 4b29883..fbc2d64 100644
--- a/sc/source/core/data/fillinfo.cxx
+++ b/sc/source/core/data/fillinfo.cxx
@@ -495,6 +495,8 @@ void ScDocument::FillInfo( ScTableInfo& rTabInfo, SCCOL nX1, SCROW nY1, SCCOL nX
                                 RowInfo* pThisRowInfo = &pRowInfo[nArrY];
                                 if (pBackground != pDefBackground)          // Spalten-HG == Standard ?
                                     pThisRowInfo->bEmptyBack = false;
+                                if (pCondForm)
+                                    pThisRowInfo->bEmptyBack = false;
                                 if (bAutoFilter)
                                     pThisRowInfo->bAutoFilter = true;
                                 if (bPushButton)
commit 1d803422af63589699a3d78a506fd46a765e8a01
Author: Markus Mohrhard <markus.mohrhard at googlemail.com>
Date:   Tue Sep 18 14:44:21 2012 +0200

    shrink to used area for duplicate codn format, fdo#54349
    
    Change-Id: Ie0cce19c3ea2132d94a227cd051090573054b369
    Signed-off-by: Kohei Yoshida <kohei.yoshida at gmail.com>
    Signed-off-by: Michael Meeks <michael.meeks at suse.com>
    Signed-off-by: Fridrich Å trba <fridrich.strba at bluewin.ch>

diff --git a/sc/source/core/data/conditio.cxx b/sc/source/core/data/conditio.cxx
index aad6019..7a345ed 100644
--- a/sc/source/core/data/conditio.cxx
+++ b/sc/source/core/data/conditio.cxx
@@ -774,8 +774,21 @@ static bool lcl_IsDuplicate( ScDocument *pDoc, double nArg, const String& rStr,
         const ScRange *aRange = rRanges[i];
         SCROW nRow = aRange->aEnd.Row();
         SCCOL nCol = aRange->aEnd.Col();
-        for( SCROW r = aRange->aStart.Row(); r <= nRow; r++ )
-            for( SCCOL c = aRange->aStart.Col(); c <= nCol; c++ )
+        SCCOL nColStart = aRange->aStart.Col();
+        SCROW nRowStart = aRange->aEnd.Row();
+        SCTAB nTab = aRange->aStart.Tab();
+
+        // temporary fix to workaorund slow duplicate entry
+        // conditions, prevent to use a whole row
+        if(nRow == MAXROW)
+        {
+            bool bShrunk = false;
+            pDoc->ShrinkToUsedDataArea(bShrunk, nTab, nColStart, nRowStart,
+                                            nCol, nRow, false);
+        }
+
+        for( SCROW r = nRowStart; r <= nRow; r++ )
+            for( SCCOL c = nColStart; c <= nCol; c++ )
             {
                 double nVal = 0.0;
                 ScBaseCell *pCell = NULL;


More information about the Libreoffice-commits mailing list