sc/inc/cell.hxx                           |    2 ++
 sc/source/core/data/cell.cxx              |    2 +-
 sc/source/core/data/colorscale.cxx        |    2 +-
 sc/source/filter/oox/condformatbuffer.cxx |    4 +---
 4 files changed, 5 insertions(+), 5 deletions(-)

New commits:
commit 28062c62818ce40c17fb67b480612f8bb9bcd522
Author: Markus Mohrhard <markus.mohrh...@googlemail.com>
Date:   Mon May 14 09:35:23 2012 +0200

    formulas in color scales should not be changed to external references
    
    Change-Id: Ie85bd4320324ef932102576ca4ccf32c3527796c

diff --git a/sc/inc/cell.hxx b/sc/inc/cell.hxx
index 5de0130..3bf2dfe 100644
--- a/sc/inc/cell.hxx
+++ b/sc/inc/cell.hxx
@@ -79,6 +79,8 @@ const int SC_CLONECELL_ADJUST3DREL      = 0x0002;
     copying cells to undo document, where captions are handled in drawing 
undo). */
 const int SC_CLONECELL_NOCAPTION        = 0x0004;
 
+/** If set, absolute refs will not transformed to external references */
+const int SC_CLONECELL_NOMAKEABS_EXTERNAL = 0x0008;
 // ============================================================================
 
 class SC_DLLPUBLIC ScBaseCell
diff --git a/sc/source/core/data/cell.cxx b/sc/source/core/data/cell.cxx
index 3af1a1b..5fbcbb9 100644
--- a/sc/source/core/data/cell.cxx
+++ b/sc/source/core/data/cell.cxx
@@ -812,7 +812,7 @@ ScFormulaCell::ScFormulaCell( const ScFormulaCell& rCell, 
ScDocument& rDoc, cons
         }
 
         bool bCopyBetweenDocs = pDocument->GetPool() != 
rCell.pDocument->GetPool();
-        if (bCopyBetweenDocs)
+        if (bCopyBetweenDocs && !(nCloneFlags & 
SC_CLONECELL_NOMAKEABS_EXTERNAL))
         {
             pCode->ReadjustAbsolute3DReferences( rCell.pDocument, &rDoc, 
rCell.aPos);
         }
diff --git a/sc/source/core/data/colorscale.cxx 
b/sc/source/core/data/colorscale.cxx
index 35cdb20..bad6a14 100644
--- a/sc/source/core/data/colorscale.cxx
+++ b/sc/source/core/data/colorscale.cxx
@@ -60,7 +60,7 @@ ScColorScaleEntry::ScColorScaleEntry(ScDocument* pDoc, const 
ScColorScaleEntry&
 {
     if(rEntry.mpCell)
     {
-        mpCell.reset(static_cast<ScFormulaCell*>(rEntry.mpCell->Clone(*pDoc)));
+        mpCell.reset(static_cast<ScFormulaCell*>(rEntry.mpCell->Clone(*pDoc, 
SC_CLONECELL_NOMAKEABS_EXTERNAL)));
     }
 }
 
commit a233a98a90b81ea12e050a77aa4ccbfe5457ab7e
Author: Markus Mohrhard <markus.mohrh...@googlemail.com>
Date:   Mon May 14 09:14:35 2012 +0200

    no need to use ScDocFunc here, ScDocument is the better choice
    
    Change-Id: I280e5ab08949415a8179f803177d280540ba0650

diff --git a/sc/source/filter/oox/condformatbuffer.cxx 
b/sc/source/filter/oox/condformatbuffer.cxx
index 0c9cc37..719f3a5 100644
--- a/sc/source/filter/oox/condformatbuffer.cxx
+++ b/sc/source/filter/oox/condformatbuffer.cxx
@@ -56,7 +56,6 @@
 #include "colorscale.hxx"
 #include "document.hxx"
 #include "convuno.hxx"
-#include "docsh.hxx"
 #include "docfunc.hxx"
 #include "markdata.hxx"
 #include "docpool.hxx"
@@ -725,10 +724,9 @@ void CondFormatRule::finalizeImport( const Reference< 
XSheetConditionalEntries >
             ScUnoConversion::FillScRange(aRange, *itr);
             ScPatternAttr aPattern( rDoc.GetPool() );
             aPattern.GetItemSet().Put( SfxUInt32Item( ATTR_COLORSCALE, nIndex 
) );
-            ScDocShell* pShell = 
static_cast<ScDocShell*>(rDoc.GetDocumentShell());
             ScMarkData aMarkData;
             aMarkData.SetMarkArea(aRange);
-            pShell->GetDocFunc().ApplyAttributes( aMarkData, aPattern, 
sal_True, sal_True );
+            rDoc.ApplySelectionPattern( aPattern , aMarkData);
 
             aList.Append(aRange);
         }
_______________________________________________
Libreoffice-commits mailing list
libreoffice-comm...@lists.freedesktop.org
http://lists.freedesktop.org/mailman/listinfo/libreoffice-commits

Reply via email to