Kaydet (Commit) 418e6419 authored tarafından Noel Grandin's avatar Noel Grandin

pass ScDocument by ScDocumentUniquePtr

Change-Id: I6ce82c6f061c7f01a5584230c26e9bf20c7f07ca
Reviewed-on: https://gerrit.libreoffice.org/59788
Tested-by: Jenkins
Reviewed-by: 's avatarNoel Grandin <noel.grandin@collabora.co.uk>
üst 0cf0847b
......@@ -577,7 +577,7 @@ void ScDocShell::DoConsolidate( const ScConsolidateParam& rParam, bool bRecord )
ScOutlineTable* pTable = m_aDocument.GetOutlineTable( nDestTab );
ScOutlineTable* pUndoTab = pTable ? new ScOutlineTable( *pTable ) : nullptr;
ScDocument* pUndoDoc = new ScDocument( SCDOCMODE_UNDO );
ScDocumentUniquePtr pUndoDoc(new ScDocument( SCDOCMODE_UNDO ));
pUndoDoc->InitUndo( &m_aDocument, 0, nTabCount-1, false, true );
// row state
......@@ -598,12 +598,12 @@ void ScDocShell::DoConsolidate( const ScConsolidateParam& rParam, bool bRecord )
m_aDocument.CopyToDocument(aOldDest, InsertDeleteFlags::ALL, false, *pUndoDoc);
GetUndoManager()->AddUndoAction(
new ScUndoConsolidate( this, aDestArea, rParam, pUndoDoc,
new ScUndoConsolidate( this, aDestArea, rParam, std::move(pUndoDoc),
true, nInsertCount, pUndoTab, pUndoData ) );
}
else
{
ScDocument* pUndoDoc = new ScDocument( SCDOCMODE_UNDO );
ScDocumentUniquePtr pUndoDoc(new ScDocument( SCDOCMODE_UNDO ));
pUndoDoc->InitUndo( &m_aDocument, aDestArea.nTab, aDestArea.nTab );
m_aDocument.CopyToDocument(aDestArea.nColStart, aDestArea.nRowStart, aDestArea.nTab,
......@@ -615,7 +615,7 @@ void ScDocShell::DoConsolidate( const ScConsolidateParam& rParam, bool bRecord )
m_aDocument.CopyToDocument(aOldDest, InsertDeleteFlags::ALL, false, *pUndoDoc);
GetUndoManager()->AddUndoAction(
new ScUndoConsolidate( this, aDestArea, rParam, pUndoDoc,
new ScUndoConsolidate( this, aDestArea, rParam, std::move(pUndoDoc),
false, 0, nullptr, pUndoData ) );
}
}
......
......@@ -370,7 +370,7 @@ class ScUndoConsolidate: public ScSimpleUndo
public:
ScUndoConsolidate(ScDocShell* pNewDocShell,
const ScArea& rArea, const ScConsolidateParam& rPar,
ScDocument* pNewUndoDoc, bool bReference,
ScDocumentUniquePtr pNewUndoDoc, bool bReference,
SCROW nInsCount, ScOutlineTable* pTab,
ScDBData* pData);
......@@ -430,7 +430,7 @@ public:
SCCOL nStartX, SCROW nStartY, SCTAB nStartZ,
SCCOL nEndX, SCROW nEndY, SCTAB nEndZ,
const ScMarkData& rMark,
ScDocument* pNewUndoDoc, ScDocument* pNewRedoDoc,
ScDocumentUniquePtr pNewUndoDoc, ScDocumentUniquePtr pNewRedoDoc,
std::unique_ptr<ScRefUndoData> pRefData);
virtual void Undo() override;
virtual void Redo() override;
......
......@@ -1523,12 +1523,12 @@ bool ScUndoDataPilot::CanRepeat(SfxRepeatTarget& /* rTarget */) const
}
ScUndoConsolidate::ScUndoConsolidate( ScDocShell* pNewDocShell, const ScArea& rArea,
const ScConsolidateParam& rPar, ScDocument* pNewUndoDoc,
const ScConsolidateParam& rPar, ScDocumentUniquePtr pNewUndoDoc,
bool bReference, SCROW nInsCount, ScOutlineTable* pTab,
ScDBData* pData )
: ScSimpleUndo(pNewDocShell)
, aDestArea(rArea)
, xUndoDoc(pNewUndoDoc)
, xUndoDoc(std::move(pNewUndoDoc))
, aParam(rPar)
, bInsRef(bReference)
, nInsertCount(nInsCount)
......@@ -1732,12 +1732,12 @@ ScUndoDataForm::ScUndoDataForm( ScDocShell* pNewDocShell,
SCCOL nStartX, SCROW nStartY, SCTAB nStartZ,
SCCOL nEndX, SCROW nEndY, SCTAB nEndZ,
const ScMarkData& rMark,
ScDocument* pNewUndoDoc, ScDocument* pNewRedoDoc,
ScDocumentUniquePtr pNewUndoDoc, ScDocumentUniquePtr pNewRedoDoc,
std::unique_ptr<ScRefUndoData> pRefData )
: ScBlockUndo(pNewDocShell, ScRange( nStartX, nStartY, nStartZ, nEndX, nEndY, nEndZ ), SC_UNDO_SIMPLE)
, mxMarkData(new ScMarkData(rMark))
, xUndoDoc(pNewUndoDoc)
, xRedoDoc(pNewRedoDoc)
, xUndoDoc(std::move(pNewUndoDoc))
, xRedoDoc(std::move(pNewRedoDoc))
, xRefUndoData(std::move(pRefData))
, bRedoFilled(false)
{
......
......@@ -1957,8 +1957,8 @@ void ScViewFunc::DataFormPutData( SCROW nCurrentRow ,
if ( pDoc )
{
const bool bRecord( pDoc->IsUndoEnabled());
ScDocument* pUndoDoc = nullptr;
ScDocument* pRedoDoc = nullptr;
ScDocumentUniquePtr pUndoDoc;
ScDocumentUniquePtr pRedoDoc;
std::unique_ptr<ScRefUndoData> pUndoData;
SCTAB nTab = GetViewData().GetTabNo();
SCTAB nStartTab = nTab;
......@@ -1977,7 +1977,7 @@ void ScViewFunc::DataFormPutData( SCROW nCurrentRow ,
if ( bRecord )
{
pUndoDoc = new ScDocument( SCDOCMODE_UNDO );
pUndoDoc.reset(new ScDocument( SCDOCMODE_UNDO ));
pUndoDoc->InitUndoSelected( pDoc , rMark , bColInfo , bRowInfo );
pDoc->CopyToDocument( aUserRange , InsertDeleteFlags::VALUE , false, *pUndoDoc );
}
......@@ -1997,7 +1997,7 @@ void ScViewFunc::DataFormPutData( SCROW nCurrentRow ,
SfxUndoAction* pUndo = new ScUndoDataForm( pDocSh,
nStartCol, nCurrentRow, nStartTab,
nUndoEndCol, nUndoEndRow, nEndTab, rMark,
pUndoDoc, pRedoDoc,
std::move(pUndoDoc), std::move(pRedoDoc),
std::move(pUndoData) );
pUndoMgr->AddUndoAction( new ScUndoWrapper( pUndo ), true );
......
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment