[Libreoffice-commits] core.git: Branch 'feature/formula-core-rework' - sc/inc sc/source
Kohei Yoshida
kohei.yoshida at gmail.com
Thu Mar 21 12:20:43 PDT 2013
sc/inc/column.hxx | 3 ++
sc/inc/document.hxx | 12 +++++++++++
sc/inc/table.hxx | 3 ++
sc/source/core/data/column.cxx | 17 ++++++++++++++++
sc/source/core/data/column3.cxx | 10 +++++++++
sc/source/core/data/document.cxx | 27 ++++++++++++++++++++++++++
sc/source/core/data/table2.cxx | 26 +++++++++++++++++++++++++
sc/source/filter/lotus/tool.cxx | 8 ++++---
sc/source/filter/xml/xmlcelli.cxx | 27 ++++++++++----------------
sc/source/ui/docshell/tablink.cxx | 5 +---
sc/source/ui/view/spelleng.cxx | 39 ++++++++++++--------------------------
11 files changed, 129 insertions(+), 48 deletions(-)
New commits:
commit df7cbec4410e250dc45f9fd506dde42f709a591d
Author: Kohei Yoshida <kohei.yoshida at gmail.com>
Date: Thu Mar 21 15:15:15 2013 -0400
More on PutCell() avoidance.
Change-Id: I9166a00f1aadd4bfcb9dc46ef794cd53c19f5692
diff --git a/sc/inc/column.hxx b/sc/inc/column.hxx
index 83a5530..f25dc78 100644
--- a/sc/inc/column.hxx
+++ b/sc/inc/column.hxx
@@ -207,6 +207,7 @@ public:
void DeleteArea(SCROW nStartRow, SCROW nEndRow, sal_uInt16 nDelFlag );
void CopyToClip(SCROW nRow1, SCROW nRow2, ScColumn& rColumn, bool bKeepScenarioFlags) const;
void CopyStaticToDocument(SCROW nRow1, SCROW nRow2, ScColumn& rDestCol);
+ void CopyCellToDocument( SCROW nSrcRow, SCROW nDestRow, ScColumn& rDestCol );
void CopyFromClip(SCROW nRow1, SCROW nRow2, long nDy,
sal_uInt16 nInsFlag, bool bAsLink, bool bSkipAttrForEmpty, ScColumn& rColumn);
void StartListeningInArea( SCROW nRow1, SCROW nRow2 );
@@ -262,6 +263,7 @@ public:
ScSetStringParam* pParam = NULL );
void SetEditText( SCROW nRow, EditTextObject* pEditText );
+ void SetEditText( SCROW nRow, const EditTextObject& rEditText, const SfxItemPool* pEditPool );
void SetFormula( SCROW nRow, const ScTokenArray& rArray, formula::FormulaGrammar::Grammar eGram );
void SetFormula( SCROW nRow, const OUString& rFormula, formula::FormulaGrammar::Grammar eGram );
void SetFormulaCell( SCROW nRow, ScFormulaCell* pCell );
@@ -276,6 +278,7 @@ public:
void GetFormula( SCROW nRow, rtl::OUString& rFormula ) const;
const ScTokenArray* GetFormulaTokens( SCROW nRow ) const;
const ScFormulaCell* GetFormulaCell( SCROW nRow ) const;
+ ScFormulaCell* GetFormulaCell( SCROW nRow );
CellType GetCellType( SCROW nRow ) const;
SCSIZE GetCellCount() const;
sal_uInt32 GetWeightedCount() const;
diff --git a/sc/inc/document.hxx b/sc/inc/document.hxx
index c31c952..5f0a681 100644
--- a/sc/inc/document.hxx
+++ b/sc/inc/document.hxx
@@ -765,6 +765,8 @@ public:
*/
SC_DLLPUBLIC void SetEditText( const ScAddress& rPos, EditTextObject* pEditText );
+ void SetEditText( const ScAddress& rPos, const EditTextObject& rEditText, const SfxItemPool* pEditPool );
+
SC_DLLPUBLIC void SetEditText( const ScAddress& rPos, const OUString& rStr );
/**
@@ -824,6 +826,7 @@ public:
void GetFormula( SCCOL nCol, SCROW nRow, SCTAB nTab, String& rFormula ) const;
const ScTokenArray* GetFormulaTokens( const ScAddress& rPos ) const;
const ScFormulaCell* GetFormulaCell( const ScAddress& rPos ) const;
+ ScFormulaCell* GetFormulaCell( const ScAddress& rPos );
SC_DLLPUBLIC void GetFormula( SCCOL nCol, SCROW nRow, SCTAB nTab, rtl::OUString& rFormula ) const;
SC_DLLPUBLIC void GetCellType( SCCOL nCol, SCROW nRow, SCTAB nTab, CellType& rCellType ) const;
SC_DLLPUBLIC CellType GetCellType( const ScAddress& rPos ) const;
@@ -1088,6 +1091,15 @@ public:
*/
void CopyStaticToDocument(const ScRange& rSrcRange, SCTAB nDestTab, ScDocument* pDestDoc);
+ /**
+ * Copy only cell, nothing but cell to another document.
+ *
+ * @param rSrcPos source cell position
+ * @param rDestPos destination cell position
+ * @param rDestDoc destination document
+ */
+ void CopyCellToDocument( const ScAddress& rSrcPos, const ScAddress& rDestPos, ScDocument& rDestDoc );
+
void CopyTabToClip(SCCOL nCol1, SCROW nRow1, SCCOL nCol2, SCROW nRow2,
SCTAB nTab, ScDocument* pClipDoc = NULL);
void CopyBlockFromClip( SCCOL nCol1, SCROW nRow1, SCCOL nCol2, SCROW nRow2,
diff --git a/sc/inc/table.hxx b/sc/inc/table.hxx
index aebe9c0..461da522 100644
--- a/sc/inc/table.hxx
+++ b/sc/inc/table.hxx
@@ -304,6 +304,7 @@ public:
ScSetStringParam* pParam = NULL );
void SetEditText( SCCOL nCol, SCROW nRow, EditTextObject* pEditText );
+ void SetEditText( SCCOL nCol, SCROW nRow, const EditTextObject& rEditText, const SfxItemPool* pEditPool );
void SetEmptyCell( SCCOL nCol, SCROW nRow );
void SetFormula(
@@ -329,6 +330,7 @@ public:
void GetFormula( SCCOL nCol, SCROW nRow, rtl::OUString& rFormula ) const;
const ScTokenArray* GetFormulaTokens( SCCOL nCol, SCROW nRow ) const;
const ScFormulaCell* GetFormulaCell( SCCOL nCol, SCROW nRow ) const;
+ ScFormulaCell* GetFormulaCell( SCCOL nCol, SCROW nRow );
CellType GetCellType( const ScAddress& rPos ) const
{
@@ -369,6 +371,7 @@ public:
void CopyToClip(const ScRangeList& rRanges, ScTable* pTable,
bool bKeepScenarioFlags, bool bCloneNoteCaptions);
void CopyStaticToDocument(SCCOL nCol1, SCROW nRow1, SCCOL nCol2, SCROW nRow2, ScTable* pDestTab);
+ void CopyCellToDocument( SCCOL nSrcCol, SCROW nSrcRow, SCCOL nDestCol, SCROW nDestRow, ScTable& rDestTab );
void CopyFromClip(SCCOL nCol1, SCROW nRow1, SCCOL nCol2, SCROW nRow2, SCsCOL nDx, SCsROW nDy,
sal_uInt16 nInsFlag, bool bAsLink, bool bSkipAttrForEmpty, ScTable* pTable);
void StartListeningInArea( SCCOL nCol1, SCROW nRow1,
diff --git a/sc/source/core/data/column.cxx b/sc/source/core/data/column.cxx
index ff8aa35..13287de 100644
--- a/sc/source/core/data/column.cxx
+++ b/sc/source/core/data/column.cxx
@@ -1406,6 +1406,23 @@ void ScColumn::CopyStaticToDocument(SCROW nRow1, SCROW nRow2, ScColumn& rDestCol
rDestCol.maTextWidths.set<unsigned short>(it->nRow, TEXTWIDTH_DIRTY);
}
+void ScColumn::CopyCellToDocument( SCROW nSrcRow, SCROW nDestRow, ScColumn& rDestCol )
+{
+ SCSIZE nIndex;
+ if (!Search(nSrcRow, nIndex))
+ {
+ // Source cell is empty. Remove the destination cell if one exists.
+ rDestCol.Delete(nDestRow);
+ return;
+ }
+
+ ScBaseCell* pDestCell =
+ maItems[nSrcRow].pCell->Clone(
+ *rDestCol.pDocument, ScAddress(rDestCol.nCol, nDestRow, rDestCol.nTab));
+
+ rDestCol.Insert(nDestRow, pDestCell);
+}
+
void ScColumn::CopyToColumn(
SCROW nRow1, SCROW nRow2, sal_uInt16 nFlags, bool bMarked, ScColumn& rColumn,
const ScMarkData* pMarkData, bool bAsLink) const
diff --git a/sc/source/core/data/column3.cxx b/sc/source/core/data/column3.cxx
index fedb528..3297b88 100644
--- a/sc/source/core/data/column3.cxx
+++ b/sc/source/core/data/column3.cxx
@@ -1488,6 +1488,11 @@ void ScColumn::SetEditText( SCROW nRow, EditTextObject* pEditText )
Insert(nRow, new ScEditCell(pEditText, pDocument));
}
+void ScColumn::SetEditText( SCROW nRow, const EditTextObject& rEditText, const SfxItemPool* pEditPool )
+{
+ Insert(nRow, new ScEditCell(rEditText, pDocument, pEditPool));
+}
+
void ScColumn::SetFormula( SCROW nRow, const ScTokenArray& rArray, formula::FormulaGrammar::Grammar eGram )
{
ScAddress aPos(nCol, nRow, nTab);
@@ -1842,6 +1847,11 @@ const ScFormulaCell* ScColumn::GetFormulaCell( SCROW nRow ) const
return FetchFormulaCell(nRow);
}
+ScFormulaCell* ScColumn::GetFormulaCell( SCROW nRow )
+{
+ return const_cast<ScFormulaCell*>(FetchFormulaCell(nRow));
+}
+
CellType ScColumn::GetCellType( SCROW nRow ) const
{
SCSIZE nIndex;
diff --git a/sc/source/core/data/document.cxx b/sc/source/core/data/document.cxx
index 5ccd2bc..47075a1 100644
--- a/sc/source/core/data/document.cxx
+++ b/sc/source/core/data/document.cxx
@@ -1990,6 +1990,17 @@ void ScDocument::CopyStaticToDocument(const ScRange& rSrcRange, SCTAB nDestTab,
rSrcRange.aStart.Col(), rSrcRange.aStart.Row(), rSrcRange.aEnd.Col(), rSrcRange.aEnd.Row(), pDestTab);
}
+void ScDocument::CopyCellToDocument( const ScAddress& rSrcPos, const ScAddress& rDestPos, ScDocument& rDestDoc )
+{
+ if (!TableExists(rSrcPos.Tab()) || !rDestDoc.TableExists(rDestPos.Tab()))
+ return;
+
+ ScTable& rSrcTab = *maTabs[rSrcPos.Tab()];
+ ScTable& rDestTab = *rDestDoc.maTabs[rDestPos.Tab()];
+
+ rSrcTab.CopyCellToDocument(rSrcPos.Col(), rSrcPos.Row(), rDestPos.Col(), rDestPos.Row(), rDestTab);
+}
+
void ScDocument::CopyTabToClip(SCCOL nCol1, SCROW nRow1,
SCCOL nCol2, SCROW nRow2,
SCTAB nTab, ScDocument* pClipDoc)
@@ -2981,6 +2992,14 @@ void ScDocument::SetEditText( const ScAddress& rPos, EditTextObject* pEditText )
maTabs[rPos.Tab()]->SetEditText(rPos.Col(), rPos.Row(), pEditText);
}
+void ScDocument::SetEditText( const ScAddress& rPos, const EditTextObject& rEditText, const SfxItemPool* pEditPool )
+{
+ if (!TableExists(rPos.Tab()))
+ return;
+
+ maTabs[rPos.Tab()]->SetEditText(rPos.Col(), rPos.Row(), rEditText, pEditPool);
+}
+
void ScDocument::SetEditText( const ScAddress& rPos, const OUString& rStr )
{
if (!TableExists(rPos.Tab()))
@@ -3258,6 +3277,14 @@ const ScFormulaCell* ScDocument::GetFormulaCell( const ScAddress& rPos ) const
return maTabs[rPos.Tab()]->GetFormulaCell(rPos.Col(), rPos.Row());
}
+ScFormulaCell* ScDocument::GetFormulaCell( const ScAddress& rPos )
+{
+ if (!TableExists(rPos.Tab()))
+ return NULL;
+
+ return maTabs[rPos.Tab()]->GetFormulaCell(rPos.Col(), rPos.Row());
+}
+
CellType ScDocument::GetCellType( const ScAddress& rPos ) const
{
SCTAB nTab = rPos.Tab();
diff --git a/sc/source/core/data/table2.cxx b/sc/source/core/data/table2.cxx
index 0306f2c..f6d34c2 100644
--- a/sc/source/core/data/table2.cxx
+++ b/sc/source/core/data/table2.cxx
@@ -677,6 +677,16 @@ void ScTable::CopyStaticToDocument(SCCOL nCol1, SCROW nRow1, SCCOL nCol2, SCROW
}
}
+void ScTable::CopyCellToDocument(SCCOL nSrcCol, SCROW nSrcRow, SCCOL nDestCol, SCROW nDestRow, ScTable& rDestTab )
+{
+ if (!ValidColRow(nSrcCol, nSrcRow) || !ValidColRow(nDestCol, nDestRow))
+ return;
+
+ ScColumn& rSrcCol = aCol[nSrcCol];
+ ScColumn& rDestCol = rDestTab.aCol[nDestCol];
+ rSrcCol.CopyCellToDocument(nSrcRow, nDestRow, rDestCol);
+}
+
void ScTable::CopyConditionalFormat( SCCOL nCol1, SCROW nRow1, SCCOL nCol2, SCROW nRow2,
SCsCOL nDx, SCsROW nDy, ScTable* pTable)
{
@@ -1334,6 +1344,14 @@ void ScTable::SetEditText( SCCOL nCol, SCROW nRow, EditTextObject* pEditText )
aCol[nCol].SetEditText(nRow, pEditText);
}
+void ScTable::SetEditText( SCCOL nCol, SCROW nRow, const EditTextObject& rEditText, const SfxItemPool* pEditPool )
+{
+ if (!ValidColRow(nCol, nRow))
+ return;
+
+ aCol[nCol].SetEditText(nRow, rEditText, pEditPool);
+}
+
void ScTable::SetEmptyCell( SCCOL nCol, SCROW nRow )
{
if (!ValidColRow(nCol, nRow))
@@ -1435,6 +1453,14 @@ const ScFormulaCell* ScTable::GetFormulaCell( SCCOL nCol, SCROW nRow ) const
return aCol[nCol].GetFormulaCell(nRow);
}
+ScFormulaCell* ScTable::GetFormulaCell( SCCOL nCol, SCROW nRow )
+{
+ if (!ValidColRow(nCol, nRow))
+ return NULL;
+
+ return aCol[nCol].GetFormulaCell(nRow);
+}
+
ScNotes* ScTable::GetNotes()
{
return &maNotes;
diff --git a/sc/source/filter/lotus/tool.cxx b/sc/source/filter/lotus/tool.cxx
index 4fa8eb1..136e607 100644
--- a/sc/source/filter/lotus/tool.cxx
+++ b/sc/source/filter/lotus/tool.cxx
@@ -23,7 +23,6 @@
#include <svl/zforlist.hxx>
#include <tools/solar.h>
-#include "cell.hxx"
#include "rangenam.hxx"
#include "compiler.hxx"
@@ -33,6 +32,8 @@
#include "lotrange.hxx"
#include "namebuff.hxx"
#include "ftools.hxx"
+#include "stringutil.hxx"
+#include "tokenarray.hxx"
#include <math.h>
@@ -98,8 +99,9 @@ void PutFormString( SCCOL nCol, SCROW nRow, SCTAB nTab, sal_Char* pString )
}
pDoc->ApplyAttr( nCol, nRow, nTab, *pJustify );
- ScStringCell* pZelle = new ScStringCell( String( pString, pLotusRoot->eCharsetQ ) );
- pDoc->PutCell( nCol, nRow, nTab, pZelle, true );
+ ScSetStringParam aParam;
+ aParam.setTextInput();
+ pDoc->SetString(ScAddress(nCol,nRow,nTab), String(pString, pLotusRoot->eCharsetQ), &aParam);
}
diff --git a/sc/source/filter/xml/xmlcelli.cxx b/sc/source/filter/xml/xmlcelli.cxx
index 4c335e7..d51e1b5 100644
--- a/sc/source/filter/xml/xmlcelli.cxx
+++ b/sc/source/filter/xml/xmlcelli.cxx
@@ -986,11 +986,10 @@ void ScXMLTableRowCellContext::PutTextCell( const ScAddress& rCurrentPos,
//cell was already put in document, just need to set text here.
if( rXMLImport.GetTables().IsPartOfMatrix(rCurrentPos) )
{
- ScBaseCell* pCell = rXMLImport.GetDocument()->GetCell( rCurrentPos );
- bDoIncrement = ( pCell && pCell->GetCellType() == CELLTYPE_FORMULA );
+ bDoIncrement = rXMLImport.GetDocument()->GetCellType(rCurrentPos) == CELLTYPE_FORMULA;
if ( bDoIncrement )
{
- ScFormulaCell* pFCell = static_cast<ScFormulaCell*>(pCell);
+ ScFormulaCell* pFCell = rXMLImport.GetDocument()->GetFormulaCell(rCurrentPos);
OUString aCellString;
if (maStringValue)
aCellString = *maStringValue;
@@ -1013,8 +1012,8 @@ void ScXMLTableRowCellContext::PutTextCell( const ScAddress& rCurrentPos,
ScAddress aTopLeftMatrixCell;
if(pFCell->GetMatrixOrigin(aTopLeftMatrixCell))
{
- ScBaseCell* pMatrixCell = rXMLImport.GetDocument()->GetCell( aTopLeftMatrixCell );
- static_cast<ScFormulaCell*>(pMatrixCell)->SetDirty();
+ ScFormulaCell* pMatrixCell = rXMLImport.GetDocument()->GetFormulaCell(aTopLeftMatrixCell);
+ pMatrixCell->SetDirty();
}
else
SAL_WARN("sc", "matrix cell without matrix");
@@ -1085,10 +1084,9 @@ void ScXMLTableRowCellContext::PutValueCell( const ScAddress& rCurrentPos )
//cell was already put in document, just need to set value here.
if( rXMLImport.GetTables().IsPartOfMatrix(rCurrentPos) )
{
- ScBaseCell* pCell = rXMLImport.GetDocument()->GetCell( rCurrentPos );
- if ( pCell && pCell->GetCellType() == CELLTYPE_FORMULA )
+ if (rXMLImport.GetDocument()->GetCellType(rCurrentPos) == CELLTYPE_FORMULA)
{
- ScFormulaCell* pFCell = static_cast<ScFormulaCell*>(pCell);
+ ScFormulaCell* pFCell = rXMLImport.GetDocument()->GetFormulaCell(rCurrentPos);
SetFormulaCell(pFCell);
}
}
@@ -1110,8 +1108,8 @@ namespace {
bool isEmptyOrNote( ScDocument* pDoc, const ScAddress& rCurrentPos )
{
- ScBaseCell* pCell = pDoc->GetCell( rCurrentPos );
- return ( !pCell || pCell->GetCellType() == CELLTYPE_NOTE );
+ CellType eType = pDoc->GetCellType(rCurrentPos);
+ return (eType == CELLTYPE_NONE) || (eType == CELLTYPE_NOTE);
}
}
@@ -1310,7 +1308,6 @@ void ScXMLTableRowCellContext::PutFormulaCell( const ScAddress& rCellPos )
if ( !aText.isEmpty() )
{
- ScBaseCell* pNewCell = NULL;
if ( aText[0] == '=' && aText.getLength() > 1 )
{
// temporary formula string as string tokens
@@ -1320,11 +1317,9 @@ void ScXMLTableRowCellContext::PutFormulaCell( const ScAddress& rCellPos )
pCode->AddStringXML( aFormulaNmsp );
pDoc->IncXMLImportedFormulaCount( aText.getLength() );
- pNewCell = new ScFormulaCell( pDoc, rCellPos, pCode.get(), eGrammar, MM_NONE );
-
- ScFormulaCell* pFCell = static_cast<ScFormulaCell*>(pNewCell);
- SetFormulaCell(pFCell);
- pDoc->PutCell( rCellPos, pNewCell );
+ ScFormulaCell* pNewCell = new ScFormulaCell(pDoc, rCellPos, pCode.get(), eGrammar, MM_NONE);
+ SetFormulaCell(pNewCell);
+ pDoc->SetFormulaCell(rCellPos, pNewCell);
}
else if ( aText[0] == '\'' && aText.getLength() > 1 )
{
diff --git a/sc/source/ui/docshell/tablink.cxx b/sc/source/ui/docshell/tablink.cxx
index e71e387..a16f51b 100644
--- a/sc/source/ui/docshell/tablink.cxx
+++ b/sc/source/ui/docshell/tablink.cxx
@@ -39,9 +39,9 @@
#include "undotab.hxx"
#include "global.hxx"
#include "hints.hxx"
-#include "cell.hxx"
#include "dociter.hxx"
#include "formula/opcode.hxx"
+#include "cell.hxx"
using ::rtl::OUString;
@@ -344,8 +344,7 @@ sal_Bool ScTableLink::Refresh(const String& rNewFile, const String& rNewFilter,
for (SCCOL nCol=nStartCol; nCol<=nEndCol; nCol++)
{
ScAddress aDestPos( nCol, nRow, nTab );
- ScFormulaCell* pNewCell = new ScFormulaCell( pDoc, aDestPos, &aTokenArr );
- pDoc->PutCell( aDestPos, pNewCell );
+ pDoc->SetFormula(aDestPos, aTokenArr);
}
}
diff --git a/sc/source/ui/view/spelleng.cxx b/sc/source/ui/view/spelleng.cxx
index fffda6e..65f1d9e 100644
--- a/sc/source/ui/view/spelleng.cxx
+++ b/sc/source/ui/view/spelleng.cxx
@@ -81,10 +81,10 @@ bool ScConversionEngineBase::FindNextConversionCell()
{
ScMarkData& rMark = mrViewData.GetMarkData();
ScTabViewShell* pViewShell = mrViewData.GetViewShell();
- ScBaseCell* pCell = NULL;
const ScPatternAttr* pPattern = NULL;
const ScPatternAttr* pLastPattern = NULL;
- ::std::auto_ptr< SfxItemSet > pEditDefaults( new SfxItemSet( GetEmptyItemSet() ) );
+
+ boost::scoped_ptr<SfxItemSet> pEditDefaults(new SfxItemSet(GetEmptyItemSet()));
if( IsModified() )
{
@@ -107,40 +107,27 @@ bool ScConversionEngineBase::FindNextConversionCell()
{
ScAddress aPos( mnCurrCol, mnCurrRow, nTab );
CellType eCellType = mrDoc.GetCellType( aPos );
- pCell = mrDoc.GetCell( aPos );
+ bool bEmptyCell = eCellType == CELLTYPE_NONE || eCellType == CELLTYPE_NOTE;
- if( mpUndoDoc && pCell )
- {
- ScBaseCell* pUndoCell = pCell->Clone( *mpUndoDoc );
- mpUndoDoc->PutCell( aPos, pUndoCell );
- }
+ if (mpUndoDoc && !bEmptyCell)
+ mrDoc.CopyCellToDocument(aPos, aPos, *mpUndoDoc);
- if( eCellType == CELLTYPE_EDIT )
+ if (eCellType == CELLTYPE_EDIT)
{
- if( pCell )
- {
- ScEditCell* pEditCell = static_cast< ScEditCell* >( pCell );
- boost::scoped_ptr<EditTextObject> pEditObj(CreateTextObject());
- pEditCell->SetData(*pEditObj, GetEditTextObjectPool());
- }
+ boost::scoped_ptr<EditTextObject> pEditObj(CreateTextObject());
+ mrDoc.SetEditText(aPos, *pEditObj, GetEditTextObjectPool());
}
else
- {
- mrDoc.SetString( mnCurrCol, mnCurrRow, nTab, aNewStr );
- pCell = mrDoc.GetCell( aPos );
- }
+ mrDoc.SetString(aPos, aNewStr);
- if( mpRedoDoc && pCell )
- {
- ScBaseCell* pRedoCell = pCell->Clone( *mpRedoDoc );
- mpRedoDoc->PutCell( aPos, pRedoCell );
- }
+ if (mpRedoDoc && !bEmptyCell)
+ mrDoc.CopyCellToDocument(aPos, aPos, *mpRedoDoc);
- mrDocShell.PostPaintCell( mnCurrCol, mnCurrRow, nTab );
+ mrDocShell.PostPaintCell(aPos);
}
}
}
- pCell = NULL;
+
SCCOL nNewCol = mnCurrCol;
SCROW nNewRow = mnCurrRow;
More information about the Libreoffice-commits
mailing list