summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorMiklos Vajna <vmiklos@collabora.co.uk>2016-07-29 17:58:19 +0200
committerMiklos Vajna <vmiklos@collabora.co.uk>2016-07-29 17:02:25 +0000
commitd60708c5116b4c48b30b94095aafd3e77de46f6a (patch)
tree8c15e2088db0fff140e91090caf1369468787e97
parent3ee2cae3a36e5d052e02c3f7b226dc3b79bd2ebc (diff)
sw undo: implement SfxUndoAction::GetViewShellId() interface
With this, it's possible to tell which view shell created which undo actions. It's visible only in the doc model xml dump only, though. Change-Id: Ia76d218a1d8b578aaad00ab733c772b10dda39f0 Reviewed-on: https://gerrit.libreoffice.org/27693 Reviewed-by: Miklos Vajna <vmiklos@collabora.co.uk> Tested-by: Jenkins <ci@libreoffice.org>
-rw-r--r--sw/inc/undobj.hxx8
-rw-r--r--sw/source/core/doc/doc.cxx4
-rw-r--r--sw/source/core/doc/docbm.cxx2
-rw-r--r--sw/source/core/doc/docdraw.cxx8
-rw-r--r--sw/source/core/doc/docfmt.cxx2
-rw-r--r--sw/source/core/doc/docftn.cxx4
-rw-r--r--sw/source/core/doc/doclay.cxx4
-rw-r--r--sw/source/core/doc/docnum.cxx2
-rw-r--r--sw/source/core/docnode/ndtbl.cxx4
-rw-r--r--sw/source/core/inc/SwUndoTOXChange.hxx4
-rw-r--r--sw/source/core/inc/UndoAttribute.hxx7
-rw-r--r--sw/source/core/inc/UndoBookmark.hxx4
-rw-r--r--sw/source/core/inc/UndoDraw.hxx11
-rw-r--r--sw/source/core/inc/UndoInsert.hxx4
-rw-r--r--sw/source/core/inc/UndoNumbering.hxx2
-rw-r--r--sw/source/core/inc/UndoTable.hxx4
-rw-r--r--sw/source/core/undo/SwUndoField.cxx2
-rw-r--r--sw/source/core/undo/SwUndoFmt.cxx12
-rw-r--r--sw/source/core/undo/SwUndoPageDesc.cxx7
-rw-r--r--sw/source/core/undo/SwUndoTOXChange.cxx4
-rw-r--r--sw/source/core/undo/unattr.cxx32
-rw-r--r--sw/source/core/undo/unbkmk.cxx6
-rw-r--r--sw/source/core/undo/undel.cxx2
-rw-r--r--sw/source/core/undo/undobj.cxx22
-rw-r--r--sw/source/core/undo/undobj1.cxx4
-rw-r--r--sw/source/core/undo/undoflystrattr.cxx2
-rw-r--r--sw/source/core/undo/undraw.cxx22
-rw-r--r--sw/source/core/undo/unfmco.cxx2
-rw-r--r--sw/source/core/undo/unins.cxx13
-rw-r--r--sw/source/core/undo/unmove.cxx4
-rw-r--r--sw/source/core/undo/unnum.cxx23
-rw-r--r--sw/source/core/undo/unoutl.cxx2
-rw-r--r--sw/source/core/undo/unovwr.cxx4
-rw-r--r--sw/source/core/undo/unredln.cxx6
-rw-r--r--sw/source/core/undo/unsect.cxx6
-rw-r--r--sw/source/core/undo/unsort.cxx4
-rw-r--r--sw/source/core/undo/unspnd.cxx2
-rw-r--r--sw/source/core/undo/untbl.cxx32
-rw-r--r--sw/source/core/undo/untblk.cxx2
39 files changed, 164 insertions, 125 deletions
diff --git a/sw/inc/undobj.hxx b/sw/inc/undobj.hxx
index 79d890cf022a..14e099fd93de 100644
--- a/sw/inc/undobj.hxx
+++ b/sw/inc/undobj.hxx
@@ -49,6 +49,7 @@ class SwUndo
{
SwUndoId const m_nId;
sal_uInt16 nOrigRedlineMode;
+ sal_Int32 m_nViewShellId;
protected:
bool bCacheComment;
@@ -81,6 +82,8 @@ public: // should not be public, but ran into trouble in untbl.cxx
virtual void RedoImpl( ::sw::UndoRedoContext & ) = 0;
private:
+ /// Try to obtain the view shell ID of the current view.
+ static sal_Int32 CreateViewShellId(const SwDoc* pDoc);
// SfxUndoAction
virtual void Undo() override;
virtual void Redo() override;
@@ -90,7 +93,7 @@ private:
virtual bool CanRepeat(SfxRepeatTarget &) const override;
public:
- SwUndo(SwUndoId const nId);
+ SwUndo(SwUndoId const nId, const SwDoc* pDoc);
virtual ~SwUndo();
/**
@@ -104,6 +107,9 @@ public:
*/
virtual OUString GetComment() const override;
+ /// See SfxUndoAction::GetViewShellId().
+ sal_Int32 GetViewShellId() const override;
+
// UndoObject remembers which mode was turned on.
// In Undo/Redo/Repeat this remembered mode is switched on.
sal_uInt16 GetRedlineMode() const { return nOrigRedlineMode; }
diff --git a/sw/source/core/doc/doc.cxx b/sw/source/core/doc/doc.cxx
index 63075b8a771d..9d7c40d1673a 100644
--- a/sw/source/core/doc/doc.cxx
+++ b/sw/source/core/doc/doc.cxx
@@ -1651,7 +1651,7 @@ void SwDoc::AppendUndoForInsertFromDB( const SwPaM& rPam, bool bIsTable )
const SwTableNode* pTableNd = rPam.GetPoint()->nNode.GetNode().FindTableNode();
if( pTableNd )
{
- SwUndoCpyTable* pUndo = new SwUndoCpyTable;
+ SwUndoCpyTable* pUndo = new SwUndoCpyTable(this);
pUndo->SetTableSttIdx( pTableNd->GetIndex() );
GetIDocumentUndoRedo().AppendUndo( pUndo );
}
@@ -1670,7 +1670,7 @@ void SwDoc::ChgTOX(SwTOXBase & rTOX, const SwTOXBase & rNew)
{
GetIDocumentUndoRedo().DelAllUndoObj();
- SwUndo * pUndo = new SwUndoTOXChange(&rTOX, rNew);
+ SwUndo * pUndo = new SwUndoTOXChange(this, &rTOX, rNew);
GetIDocumentUndoRedo().AppendUndo(pUndo);
}
diff --git a/sw/source/core/doc/docbm.cxx b/sw/source/core/doc/docbm.cxx
index 3e7919fa0e40..c91066340546 100644
--- a/sw/source/core/doc/docbm.cxx
+++ b/sw/source/core/doc/docbm.cxx
@@ -558,7 +558,7 @@ namespace sw { namespace mark
if (m_pDoc->GetIDocumentUndoRedo().DoesUndo())
{
m_pDoc->GetIDocumentUndoRedo().AppendUndo(
- new SwUndoRenameBookmark(sOldName, rNewName));
+ new SwUndoRenameBookmark(sOldName, rNewName, m_pDoc));
}
m_pDoc->getIDocumentState().SetModified();
}
diff --git a/sw/source/core/doc/docdraw.cxx b/sw/source/core/doc/docdraw.cxx
index 3edbe8b22429..403b46b8ad86 100644
--- a/sw/source/core/doc/docdraw.cxx
+++ b/sw/source/core/doc/docdraw.cxx
@@ -212,7 +212,7 @@ SwDrawContact* SwDoc::GroupSelection( SdrView& rDrawView )
SwUndoDrawGroup *const pUndo = (!GetIDocumentUndoRedo().DoesUndo())
? nullptr
- : new SwUndoDrawGroup( (sal_uInt16)rMrkList.GetMarkCount() );
+ : new SwUndoDrawGroup( (sal_uInt16)rMrkList.GetMarkCount() , this);
// #i53320#
bool bGroupMembersNotPositioned( false );
@@ -330,7 +330,7 @@ void SwDoc::UnGroupSelection( SdrView& rDrawView )
SwUndoDrawUnGroup* pUndo = nullptr;
if( bUndo )
{
- pUndo = new SwUndoDrawUnGroup( static_cast<SdrObjGroup*>(pObj) );
+ pUndo = new SwUndoDrawUnGroup( static_cast<SdrObjGroup*>(pObj), this );
GetIDocumentUndoRedo().AppendUndo(pUndo);
}
@@ -360,7 +360,7 @@ void SwDoc::UnGroupSelection( SdrView& rDrawView )
SwUndoDrawUnGroupConnectToLayout* pUndo = nullptr;
if( bUndo )
{
- pUndo = new SwUndoDrawUnGroupConnectToLayout();
+ pUndo = new SwUndoDrawUnGroupConnectToLayout(this);
GetIDocumentUndoRedo().AppendUndo(pUndo);
}
@@ -433,7 +433,7 @@ bool SwDoc::DeleteSelection( SwDrawView& rDrawView )
SwUndoDrawDelete *const pUndo =
(!GetIDocumentUndoRedo().DoesUndo())
? nullptr
- : new SwUndoDrawDelete( (sal_uInt16)rMrkList.GetMarkCount() );
+ : new SwUndoDrawDelete( (sal_uInt16)rMrkList.GetMarkCount(), this );
// Destroy ContactObjects, save formats.
for( size_t i = 0; i < rMrkList.GetMarkCount(); ++i )
diff --git a/sw/source/core/doc/docfmt.cxx b/sw/source/core/doc/docfmt.cxx
index 332cb3d9b7e4..6410970a3df4 100644
--- a/sw/source/core/doc/docfmt.cxx
+++ b/sw/source/core/doc/docfmt.cxx
@@ -617,7 +617,7 @@ void SwDoc::SetDefault( const SfxItemSet& rSet )
{
if (GetIDocumentUndoRedo().DoesUndo())
{
- GetIDocumentUndoRedo().AppendUndo( new SwUndoDefaultAttr( aOld ) );
+ GetIDocumentUndoRedo().AppendUndo( new SwUndoDefaultAttr( aOld, this ) );
}
const SfxPoolItem* pTmpItem;
diff --git a/sw/source/core/doc/docftn.cxx b/sw/source/core/doc/docftn.cxx
index da581f9cab57..807a972305c7 100644
--- a/sw/source/core/doc/docftn.cxx
+++ b/sw/source/core/doc/docftn.cxx
@@ -257,7 +257,7 @@ void SwDoc::SetFootnoteInfo(const SwFootnoteInfo& rInfo)
if (GetIDocumentUndoRedo().DoesUndo())
{
- GetIDocumentUndoRedo().AppendUndo( new SwUndoFootNoteInfo(rOld) );
+ GetIDocumentUndoRedo().AppendUndo( new SwUndoFootNoteInfo(rOld, this) );
}
bool bFootnotePos = rInfo.ePos != rOld.ePos;
@@ -327,7 +327,7 @@ void SwDoc::SetEndNoteInfo(const SwEndNoteInfo& rInfo)
{
if(GetIDocumentUndoRedo().DoesUndo())
{
- SwUndo *const pUndo( new SwUndoEndNoteInfo( GetEndNoteInfo() ) );
+ SwUndo *const pUndo( new SwUndoEndNoteInfo( GetEndNoteInfo(), this ) );
GetIDocumentUndoRedo().AppendUndo(pUndo);
}
diff --git a/sw/source/core/doc/doclay.cxx b/sw/source/core/doc/doclay.cxx
index 226af7310a4b..134243f6e277 100644
--- a/sw/source/core/doc/doclay.cxx
+++ b/sw/source/core/doc/doclay.cxx
@@ -971,7 +971,7 @@ SwDoc::InsertLabel(
{
pUndo = new SwUndoInsertLabel(
eType, rText, rSeparator, rNumberingSeparator,
- bBefore, nId, rCharacterStyle, bCpyBrd );
+ bBefore, nId, rCharacterStyle, bCpyBrd, this );
}
SwFlyFrameFormat *const pNewFormat = lcl_InsertLabel(*this, mpTextFormatCollTable, pUndo,
@@ -1255,7 +1255,7 @@ SwFlyFrameFormat* SwDoc::InsertDrawLabel(
GetIDocumentUndoRedo().ClearRedo();
pUndo = new SwUndoInsertLabel(
LTYPE_DRAW, rText, rSeparator, rNumberSeparator, false,
- nId, rCharacterStyle, false );
+ nId, rCharacterStyle, false, this );
}
SwFlyFrameFormat *const pNewFormat = lcl_InsertDrawLabel(
diff --git a/sw/source/core/doc/docnum.cxx b/sw/source/core/doc/docnum.cxx
index 1b55385f37ba..71e2b82b1255 100644
--- a/sw/source/core/doc/docnum.cxx
+++ b/sw/source/core/doc/docnum.cxx
@@ -1049,7 +1049,7 @@ void SwDoc::ChgNumRuleFormats( const SwNumRule& rRule )
SwUndoInsNum* pUndo = nullptr;
if (GetIDocumentUndoRedo().DoesUndo())
{
- pUndo = new SwUndoInsNum( *pRule, rRule );
+ pUndo = new SwUndoInsNum( *pRule, rRule, this );
pUndo->GetHistory();
GetIDocumentUndoRedo().AppendUndo( pUndo );
}
diff --git a/sw/source/core/docnode/ndtbl.cxx b/sw/source/core/docnode/ndtbl.cxx
index 1fabfa941ec4..074f1601a412 100644
--- a/sw/source/core/docnode/ndtbl.cxx
+++ b/sw/source/core/docnode/ndtbl.cxx
@@ -4305,7 +4305,7 @@ bool SwDoc::InsCopyOfTable( SwPosition& rInsPos, const SwSelBoxes& rBoxes,
if (bUndo)
{
GetIDocumentUndoRedo().ClearRedo();
- pUndo = new SwUndoCpyTable;
+ pUndo = new SwUndoCpyTable(this);
}
{
@@ -4342,7 +4342,7 @@ bool SwDoc::InsCopyOfTable( SwPosition& rInsPos, const SwSelBoxes& rBoxes,
if (bUndo)
{
GetIDocumentUndoRedo().ClearRedo();
- pUndo = new SwUndoTableCpyTable;
+ pUndo = new SwUndoTableCpyTable(this);
GetIDocumentUndoRedo().DoUndo(false);
}
diff --git a/sw/source/core/inc/SwUndoTOXChange.hxx b/sw/source/core/inc/SwUndoTOXChange.hxx
index c3964a861124..c97b948c8001 100644
--- a/sw/source/core/inc/SwUndoTOXChange.hxx
+++ b/sw/source/core/inc/SwUndoTOXChange.hxx
@@ -23,6 +23,8 @@
#include <undobj.hxx>
#include <tox.hxx>
+class SwDoc;
+
class SwUndoTOXChange : public SwUndo
{
SwTOXBase * pTOX, aOld, aNew;
@@ -31,7 +33,7 @@ class SwUndoTOXChange : public SwUndo
void DoImpl();
public:
- SwUndoTOXChange(SwTOXBase * pTOX, const SwTOXBase & rNew);
+ SwUndoTOXChange(const SwDoc* pDoc, SwTOXBase * pTOX, const SwTOXBase & rNew);
virtual ~SwUndoTOXChange();
virtual void UndoImpl( ::sw::UndoRedoContext & ) override;
diff --git a/sw/source/core/inc/UndoAttribute.hxx b/sw/source/core/inc/UndoAttribute.hxx
index c68a4bcf89f7..69820b130e2f 100644
--- a/sw/source/core/inc/UndoAttribute.hxx
+++ b/sw/source/core/inc/UndoAttribute.hxx
@@ -32,6 +32,7 @@ class SvxTabStopItem;
class SwFormat;
class SwFootnoteInfo;
class SwEndNoteInfo;
+class SwDoc;
class SwUndoAttr : public SwUndo, private SwUndRng
{
@@ -199,7 +200,7 @@ class SwUndoDefaultAttr : public SwUndo
public:
// registers at the format and saves old attributes
- SwUndoDefaultAttr( const SfxItemSet& rOldSet );
+ SwUndoDefaultAttr( const SfxItemSet& rOldSet, const SwDoc* pDoc );
virtual ~SwUndoDefaultAttr();
@@ -231,7 +232,7 @@ class SwUndoFootNoteInfo : public SwUndo
std::unique_ptr<SwFootnoteInfo> m_pFootNoteInfo;
public:
- SwUndoFootNoteInfo( const SwFootnoteInfo &rInfo );
+ SwUndoFootNoteInfo( const SwFootnoteInfo &rInfo, const SwDoc* pDoc );
virtual ~SwUndoFootNoteInfo();
@@ -244,7 +245,7 @@ class SwUndoEndNoteInfo : public SwUndo
std::unique_ptr<SwEndNoteInfo> m_pEndNoteInfo;
public:
- SwUndoEndNoteInfo( const SwEndNoteInfo &rInfo );
+ SwUndoEndNoteInfo( const SwEndNoteInfo &rInfo, const SwDoc* pDoc );
virtual ~SwUndoEndNoteInfo();
diff --git a/sw/source/core/inc/UndoBookmark.hxx b/sw/source/core/inc/UndoBookmark.hxx
index 401c15edad21..6fd636351589 100644
--- a/sw/source/core/inc/UndoBookmark.hxx
+++ b/sw/source/core/inc/UndoBookmark.hxx
@@ -30,6 +30,8 @@ namespace sw {
}
}
+class SwDoc;
+
class SwUndoBookmark : public SwUndo
{
const std::unique_ptr<SwHistoryBookmark> m_pHistoryBookmark;
@@ -82,7 +84,7 @@ class SwUndoRenameBookmark : public SwUndo
const OUString m_sNewName;
public:
- SwUndoRenameBookmark( const OUString& rOldName, const OUString& rNewName );
+ SwUndoRenameBookmark( const OUString& rOldName, const OUString& rNewName, const SwDoc* pDoc );
virtual ~SwUndoRenameBookmark();
private:
diff --git a/sw/source/core/inc/UndoDraw.hxx b/sw/source/core/inc/UndoDraw.hxx
index b603c263a132..a57340de88f2 100644
--- a/sw/source/core/inc/UndoDraw.hxx
+++ b/sw/source/core/inc/UndoDraw.hxx
@@ -30,6 +30,7 @@ class SdrObject;
class SdrObjGroup;
class SdrUndoAction;
class SwDrawFrameFormat;
+class SwDoc;
// Undo for Draw Objects
class SwSdrUndo : public SwUndo
@@ -38,7 +39,7 @@ class SwSdrUndo : public SwUndo
SdrMarkList* pMarkList; // MarkList for all selected SdrObjects
public:
- SwSdrUndo( SdrUndoAction* , const SdrMarkList* pMarkList );
+ SwSdrUndo( SdrUndoAction* , const SdrMarkList* pMarkList, const SwDoc* pDoc );
virtual ~SwSdrUndo();
@@ -55,7 +56,7 @@ class SwUndoDrawGroup : public SwUndo
bool bDelFormat;
public:
- SwUndoDrawGroup( sal_uInt16 nCnt );
+ SwUndoDrawGroup( sal_uInt16 nCnt, const SwDoc* pDoc );
virtual ~SwUndoDrawGroup();
@@ -84,7 +85,7 @@ class SwUndoDrawUnGroup : public SwUndo
bool bDelFormat;
public:
- SwUndoDrawUnGroup( SdrObjGroup* );
+ SwUndoDrawUnGroup( SdrObjGroup*, const SwDoc* pDoc );
virtual ~SwUndoDrawUnGroup();
@@ -100,7 +101,7 @@ private:
std::vector< std::pair< SwDrawFrameFormat*, SdrObject* > > aDrawFormatsAndObjs;
public:
- SwUndoDrawUnGroupConnectToLayout();
+ SwUndoDrawUnGroupConnectToLayout(const SwDoc* pDoc);
virtual ~SwUndoDrawUnGroupConnectToLayout();
@@ -119,7 +120,7 @@ class SwUndoDrawDelete : public SwUndo
bool bDelFormat;
public:
- SwUndoDrawDelete( sal_uInt16 nCnt );
+ SwUndoDrawDelete( sal_uInt16 nCnt, const SwDoc* pDoc );
virtual ~SwUndoDrawDelete();
diff --git a/sw/source/core/inc/UndoInsert.hxx b/sw/source/core/inc/UndoInsert.hxx
index b72f9d0363e5..32b9b947b3aa 100644
--- a/sw/source/core/inc/UndoInsert.hxx
+++ b/sw/source/core/inc/UndoInsert.hxx
@@ -32,6 +32,7 @@ class Graphic;
class SwGrfNode;
class SwUndoDelete;
class SwUndoFormatAttr;
+class SwDoc;
namespace sw { class DocumentContentOperationsManager; }
class SwUndoInsert: public SwUndo, private SwUndoSaveContent
@@ -185,7 +186,8 @@ public:
const OUString& rNumberSeparator, //#i61007# order of captions
const bool bBefore, const sal_uInt16 nId,
const OUString& rCharacterStyle,
- const bool bCpyBrd );
+ const bool bCpyBrd,
+ const SwDoc* pDoc );
virtual ~SwUndoInsertLabel();
virtual void UndoImpl( ::sw::UndoRedoContext & ) override;
diff --git a/sw/source/core/inc/UndoNumbering.hxx b/sw/source/core/inc/UndoNumbering.hxx
index 1d0a1fc33aeb..1adad5c14d5f 100644
--- a/sw/source/core/inc/UndoNumbering.hxx
+++ b/sw/source/core/inc/UndoNumbering.hxx
@@ -37,7 +37,7 @@ class SwUndoInsNum : public SwUndo, private SwUndRng
public:
SwUndoInsNum( const SwPaM& rPam, const SwNumRule& rRule );
SwUndoInsNum( const SwNumRule& rOldRule, const SwNumRule& rNewRule,
- SwUndoId nUndoId = UNDO_INSFMTATTR );
+ const SwDoc* pDoc, SwUndoId nUndoId = UNDO_INSFMTATTR );
SwUndoInsNum( const SwPosition& rPos, const SwNumRule& rRule,
const OUString& rReplaceRule );
diff --git a/sw/source/core/inc/UndoTable.hxx b/sw/source/core/inc/UndoTable.hxx
index 7266ca92168e..670c8c90672b 100644
--- a/sw/source/core/inc/UndoTable.hxx
+++ b/sw/source/core/inc/UndoTable.hxx
@@ -285,7 +285,7 @@ class SwUndoTableCpyTable : public SwUndo
const SwPosition& rPos, bool& rJoin, bool bRedo );
public:
- SwUndoTableCpyTable();
+ SwUndoTableCpyTable(const SwDoc* pDoc);
virtual ~SwUndoTableCpyTable();
@@ -306,7 +306,7 @@ class SwUndoCpyTable : public SwUndo
sal_uLong nTableNode;
public:
- SwUndoCpyTable();
+ SwUndoCpyTable(const SwDoc* pDoc);
virtual ~SwUndoCpyTable();
diff --git a/sw/source/core/undo/SwUndoField.cxx b/sw/source/core/undo/SwUndoField.cxx
index e983c6bb2512..fc370c8fc486 100644
--- a/sw/source/core/undo/SwUndoField.cxx
+++ b/sw/source/core/undo/SwUndoField.cxx
@@ -33,7 +33,7 @@
using namespace ::com::sun::star::uno;
SwUndoField::SwUndoField(const SwPosition & rPos, SwUndoId _nId )
- : SwUndo(_nId)
+ : SwUndo(_nId, rPos.GetDoc())
{
nNodeIndex = rPos.nNode.GetIndex();
nOffset = rPos.nContent.GetIndex();
diff --git a/sw/source/core/undo/SwUndoFmt.cxx b/sw/source/core/undo/SwUndoFmt.cxx
index ff117c645463..ffa0531f873f 100644
--- a/sw/source/core/undo/SwUndoFmt.cxx
+++ b/sw/source/core/undo/SwUndoFmt.cxx
@@ -33,7 +33,7 @@
SwUndoFormatCreate::SwUndoFormatCreate
(SwUndoId nUndoId, SwFormat * _pNew, SwFormat * _pDerivedFrom, SwDoc * _pDoc)
- : SwUndo(nUndoId), pNew(_pNew),
+ : SwUndo(nUndoId, _pDoc), pNew(_pNew),
pDoc(_pDoc), pNewSet(nullptr), nId(0), bAuto(false)
{
if (_pDerivedFrom)
@@ -98,7 +98,7 @@ SwRewriter SwUndoFormatCreate::GetRewriter() const
SwUndoFormatDelete::SwUndoFormatDelete
(SwUndoId nUndoId, SwFormat * _pOld, SwDoc * _pDoc)
- : SwUndo(nUndoId),
+ : SwUndo(nUndoId, _pDoc),
pDoc(_pDoc), sOldName(_pOld->GetName()),
aOldSet(_pOld->GetAttrSet())
{
@@ -150,7 +150,7 @@ SwUndoRenameFormat::SwUndoRenameFormat(SwUndoId nUndoId,
const OUString & _sOldName,
const OUString & _sNewName,
SwDoc * _pDoc)
- : SwUndo(nUndoId), sOldName(_sOldName),
+ : SwUndo(nUndoId, _pDoc), sOldName(_sOldName),
sNewName(_sNewName), pDoc(_pDoc)
{
}
@@ -377,7 +377,7 @@ SwFormat * SwUndoRenameFrameFormat::Find(const OUString & rName) const
SwUndoNumruleCreate::SwUndoNumruleCreate(const SwNumRule * _pNew,
SwDoc * _pDoc)
- : SwUndo(UNDO_NUMRULE_CREATE), pNew(_pNew), aNew(*_pNew), pDoc(_pDoc),
+ : SwUndo(UNDO_NUMRULE_CREATE, _pDoc), pNew(_pNew), aNew(*_pNew), pDoc(_pDoc),
bInitialized(false)
{
}
@@ -415,7 +415,7 @@ SwRewriter SwUndoNumruleCreate::GetRewriter() const
SwUndoNumruleDelete::SwUndoNumruleDelete(const SwNumRule & rRule,
SwDoc * _pDoc)
- : SwUndo(UNDO_NUMRULE_DELETE), aOld(rRule), pDoc(_pDoc)
+ : SwUndo(UNDO_NUMRULE_DELETE, _pDoc), aOld(rRule), pDoc(_pDoc)
{
}
@@ -441,7 +441,7 @@ SwRewriter SwUndoNumruleDelete::GetRewriter() const
SwUndoNumruleRename::SwUndoNumruleRename(const OUString & _aOldName,
const OUString & _aNewName,
SwDoc * _pDoc)
- : SwUndo(UNDO_NUMRULE_RENAME), aOldName(_aOldName), aNewName(_aNewName),
+ : SwUndo(UNDO_NUMRULE_RENAME, _pDoc), aOldName(_aOldName), aNewName(_aNewName),
pDoc(_pDoc)
{
}
diff --git a/sw/source/core/undo/SwUndoPageDesc.cxx b/sw/source/core/undo/SwUndoPageDesc.cxx
index 9aadad495952..e8bdf8bcacbc 100644
--- a/sw/source/core/undo/SwUndoPageDesc.cxx
+++ b/sw/source/core/undo/SwUndoPageDesc.cxx
@@ -101,7 +101,8 @@ SwUndoPageDesc::SwUndoPageDesc(const SwPageDesc & _aOld,
SwDoc * _pDoc)
: SwUndo( _aOld.GetName() != _aNew.GetName() ?
UNDO_RENAME_PAGEDESC :
- UNDO_CHANGE_PAGEDESC ),
+ UNDO_CHANGE_PAGEDESC,
+ _pDoc ),
aOld(_aOld, _pDoc), aNew(_aNew, _pDoc), pDoc(_pDoc), bExchange( false )
{
OSL_ENSURE(nullptr != pDoc, "no document?");
@@ -365,7 +366,7 @@ SwRewriter SwUndoPageDesc::GetRewriter() const
SwUndoPageDescCreate::SwUndoPageDescCreate(const SwPageDesc * pNew,
SwDoc * _pDoc)
- : SwUndo(UNDO_CREATE_PAGEDESC), pDesc(pNew), aNew(*pNew, _pDoc),
+ : SwUndo(UNDO_CREATE_PAGEDESC, _pDoc), pDesc(pNew), aNew(*pNew, _pDoc),
pDoc(_pDoc)
{
OSL_ENSURE(nullptr != pDoc, "no document?");
@@ -417,7 +418,7 @@ SwRewriter SwUndoPageDescCreate::GetRewriter() const
SwUndoPageDescDelete::SwUndoPageDescDelete(const SwPageDesc & _aOld,
SwDoc * _pDoc)
- : SwUndo(UNDO_DELETE_PAGEDESC), aOld(_aOld, _pDoc), pDoc(_pDoc)
+ : SwUndo(UNDO_DELETE_PAGEDESC, _pDoc), aOld(_aOld, _pDoc), pDoc(_pDoc)
{
OSL_ENSURE(nullptr != pDoc, "no document?");
}
diff --git a/sw/source/core/undo/SwUndoTOXChange.cxx b/sw/source/core/undo/SwUndoTOXChange.cxx
index 1deb5c19ee0a..5305fb2af2cd 100644
--- a/sw/source/core/undo/SwUndoTOXChange.cxx
+++ b/sw/source/core/undo/SwUndoTOXChange.cxx
@@ -21,8 +21,8 @@
#include <swundo.hxx>
#include <doctxm.hxx>
-SwUndoTOXChange::SwUndoTOXChange(SwTOXBase * _pTOX, const SwTOXBase & rNew)
- : SwUndo(UNDO_TOXCHANGE), pTOX(_pTOX), aOld(*_pTOX), aNew(rNew)
+SwUndoTOXChange::SwUndoTOXChange(const SwDoc *pDoc, SwTOXBase * _pTOX, const SwTOXBase & rNew)
+ : SwUndo(UNDO_TOXCHANGE, pDoc), pTOX(_pTOX), aOld(*_pTOX), aNew(rNew)
{
}
diff --git a/sw/source/core/undo/unattr.cxx b/sw/source/core/undo/unattr.cxx
index d7e6cb7e4c3d..6e8958cceab4 100644
--- a/sw/source/core/undo/unattr.cxx
+++ b/sw/source/core/undo/unattr.cxx
@@ -102,7 +102,7 @@ void SwUndoFormatAttrHelper::Modify( const SfxPoolItem* pOld, const SfxPoolItem*
SwUndoFormatAttr::SwUndoFormatAttr( const SfxItemSet& rOldSet,
SwFormat& rChgFormat,
bool bSaveDrawPt )
- : SwUndo( UNDO_INSFMTATTR )
+ : SwUndo( UNDO_INSFMTATTR, rChgFormat.GetDoc() )
, m_pFormat( &rChgFormat )
// #i56253#
, m_pOldSet( new SfxItemSet( rOldSet ) )
@@ -115,7 +115,7 @@ SwUndoFormatAttr::SwUndoFormatAttr( const SfxItemSet& rOldSet,
SwUndoFormatAttr::SwUndoFormatAttr( const SfxPoolItem& rItem, SwFormat& rChgFormat,
bool bSaveDrawPt )
- : SwUndo( UNDO_INSFMTATTR )
+ : SwUndo( UNDO_INSFMTATTR, rChgFormat.GetDoc() )
, m_pFormat( &rChgFormat )
, m_pOldSet( m_pFormat->GetAttrSet().Clone( false ) )
, m_nNodeIndex( 0 )
@@ -527,7 +527,7 @@ bool SwUndoFormatAttr::RestoreFlyAnchor(::sw::UndoRedoContext & rContext)
SwUndoFormatResetAttr::SwUndoFormatResetAttr( SwFormat& rChangedFormat,
const sal_uInt16 nWhichId )
- : SwUndo( UNDO_RESETATTR )
+ : SwUndo( UNDO_RESETATTR, rChangedFormat.GetDoc() )
, m_pChangedFormat( &rChangedFormat )
, m_nWhichId( nWhichId )
{
@@ -556,14 +556,14 @@ void SwUndoFormatResetAttr::RedoImpl(::sw::UndoRedoContext &)
}
SwUndoResetAttr::SwUndoResetAttr( const SwPaM& rRange, sal_uInt16 nFormatId )
- : SwUndo( UNDO_RESETATTR ), SwUndRng( rRange )
+ : SwUndo( UNDO_RESETATTR, rRange.GetDoc() ), SwUndRng( rRange )
, m_pHistory( new SwHistory )
, m_nFormatId( nFormatId )
{
}
SwUndoResetAttr::SwUndoResetAttr( const SwPosition& rPos, sal_uInt16 nFormatId )
- : SwUndo( UNDO_RESETATTR )
+ : SwUndo( UNDO_RESETATTR, rPos.GetDoc() )
, m_pHistory( new SwHistory )
, m_nFormatId( nFormatId )
{
@@ -671,7 +671,7 @@ void SwUndoResetAttr::SetAttrs( const std::set<sal_uInt16> &rAttrs )
SwUndoAttr::SwUndoAttr( const SwPaM& rRange, const SfxPoolItem& rAttr,
const SetAttrMode nFlags )
- : SwUndo( UNDO_INSATTR ), SwUndRng( rRange )
+ : SwUndo( UNDO_INSATTR, rRange.GetDoc() ), SwUndRng( rRange )
, m_AttrSet( rRange.GetDoc()->GetAttrPool(), rAttr.Which(), rAttr.Which() )
, m_pHistory( new SwHistory )
, m_nNodeIndex( ULONG_MAX )
@@ -682,7 +682,7 @@ SwUndoAttr::SwUndoAttr( const SwPaM& rRange, const SfxPoolItem& rAttr,
SwUndoAttr::SwUndoAttr( const SwPaM& rRange, const SfxItemSet& rSet,
const SetAttrMode nFlags )
- : SwUndo( UNDO_INSATTR ), SwUndRng( rRange )
+ : SwUndo( UNDO_INSATTR, rRange.GetDoc() ), SwUndRng( rRange )
, m_AttrSet( rSet )
, m_pHistory( new SwHistory )
, m_nNodeIndex( ULONG_MAX )
@@ -836,8 +836,8 @@ void SwUndoAttr::RemoveIdx( SwDoc& rDoc )
}
}
-SwUndoDefaultAttr::SwUndoDefaultAttr( const SfxItemSet& rSet )
- : SwUndo( UNDO_SETDEFTATTR )
+SwUndoDefaultAttr::SwUndoDefaultAttr( const SfxItemSet& rSet, const SwDoc* pDoc )
+ : SwUndo( UNDO_SETDEFTATTR, pDoc )
{
const SfxPoolItem* pItem;
if( SfxItemState::SET == rSet.GetItemState( RES_PARATR_TABSTOP, false, &pItem ) ) {
@@ -883,7 +883,7 @@ void SwUndoDefaultAttr::RedoImpl(::sw::UndoRedoContext & rContext)
SwUndoMoveLeftMargin::SwUndoMoveLeftMargin(
const SwPaM& rPam, bool bFlag, bool bMod )
- : SwUndo( bFlag ? UNDO_INC_LEFTMARGIN : UNDO_DEC_LEFTMARGIN )
+ : SwUndo( bFlag ? UNDO_INC_LEFTMARGIN : UNDO_DEC_LEFTMARGIN, rPam.GetDoc() )
, SwUndRng( rPam )
, m_pHistory( new SwHistory )
, m_bModulus( bMod )
@@ -924,7 +924,7 @@ void SwUndoMoveLeftMargin::RepeatImpl(::sw::RepeatContext & rContext)
SwUndoChangeFootNote::SwUndoChangeFootNote(
const SwPaM& rRange, const OUString& rText,
sal_uInt16 nNum, bool bIsEndNote )
- : SwUndo( UNDO_CHGFTN ), SwUndRng( rRange )
+ : SwUndo( UNDO_CHGFTN, rRange.GetDoc() ), SwUndRng( rRange )
, m_pHistory( new SwHistory() )
, m_Text( rText )
, m_nNumber( nNum )
@@ -962,8 +962,8 @@ void SwUndoChangeFootNote::RepeatImpl(::sw::RepeatContext & rContext)
rDoc.SetCurFootnote( rContext.GetRepeatPaM(), m_Text, m_nNumber, m_bEndNote );
}
-SwUndoFootNoteInfo::SwUndoFootNoteInfo( const SwFootnoteInfo &rInfo )
- : SwUndo( UNDO_FTNINFO )
+SwUndoFootNoteInfo::SwUndoFootNoteInfo( const SwFootnoteInfo &rInfo, const SwDoc* pDoc )
+ : SwUndo( UNDO_FTNINFO, pDoc )
, m_pFootNoteInfo( new SwFootnoteInfo( rInfo ) )
{
}
@@ -988,8 +988,8 @@ void SwUndoFootNoteInfo::RedoImpl(::sw::UndoRedoContext & rContext)
m_pFootNoteInfo.reset( pInf );
}
-SwUndoEndNoteInfo::SwUndoEndNoteInfo( const SwEndNoteInfo &rInfo )
- : SwUndo( UNDO_FTNINFO )
+SwUndoEndNoteInfo::SwUndoEndNoteInfo( const SwEndNoteInfo &rInfo, const SwDoc* pDoc )
+ : SwUndo( UNDO_FTNINFO, pDoc )
, m_pEndNoteInfo( new SwEndNoteInfo( rInfo ) )
{
}
@@ -1015,7 +1015,7 @@ void SwUndoEndNoteInfo::RedoImpl(::sw::UndoRedoContext & rContext)
}
SwUndoDontExpandFormat::SwUndoDontExpandFormat( const SwPosition& rPos )
- : SwUndo( UNDO_DONTEXPAND )
+ : SwUndo( UNDO_DONTEXPAND, rPos.GetDoc() )
, m_nNodeIndex( rPos.nNode.GetIndex() )
, m_nContentIndex( rPos.nContent.GetIndex() )
{
diff --git a/sw/source/core/undo/unbkmk.cxx b/sw/source/core/undo/unbkmk.cxx
index ef0ad13a9ebd..ae96d7c53761 100644
--- a/sw/source/core/undo/unbkmk.cxx
+++ b/sw/source/core/undo/unbkmk.cxx
@@ -33,7 +33,7 @@
SwUndoBookmark::SwUndoBookmark( SwUndoId nUndoId,
const ::sw::mark::IMark& rBkmk )
- : SwUndo( nUndoId )
+ : SwUndo( nUndoId, rBkmk.GetMarkPos().GetDoc() )
, m_pHistoryBookmark(new SwHistoryBookmark(rBkmk, true, rBkmk.IsExpanded()))
{
}
@@ -101,8 +101,8 @@ void SwUndoDeleteBookmark::RedoImpl(::sw::UndoRedoContext & rContext)
ResetInDoc( &rContext.GetDoc() );
}
-SwUndoRenameBookmark::SwUndoRenameBookmark( const OUString& rOldName, const OUString& rNewName )
- : SwUndo( UNDO_BOOKMARK_RENAME )
+SwUndoRenameBookmark::SwUndoRenameBookmark( const OUString& rOldName, const OUString& rNewName, const SwDoc* pDoc )
+ : SwUndo( UNDO_BOOKMARK_RENAME, pDoc )
, m_sOldName( rOldName )
, m_sNewName( rNewName )
{
diff --git a/sw/source/core/undo/undel.cxx b/sw/source/core/undo/undel.cxx
index cfc19beb9c73..c78901ab6c43 100644
--- a/sw/source/core/undo/undel.cxx
+++ b/sw/source/core/undo/undel.cxx
@@ -97,7 +97,7 @@ SwUndoDelete::SwUndoDelete(
SwPaM& rPam,
bool bFullPara,
bool bCalledByTableCpy )
- : SwUndo(UNDO_DELETE),
+ : SwUndo(UNDO_DELETE, rPam.GetDoc()),
SwUndRng( rPam ),
m_pMvStt( nullptr ),
m_pSttStr(nullptr),
diff --git a/sw/source/core/undo/undobj.cxx b/sw/source/core/undo/undobj.cxx
index 03e439e740a4..227d3fe5b4e9 100644
--- a/sw/source/core/undo/undobj.cxx
+++ b/sw/source/core/undo/undobj.cxx
@@ -40,6 +40,7 @@
#include <undo.hrc>
#include <comcore.hrc>
#include <docsh.hxx>
+#include <view.hxx>
#include <o3tl/make_unique.hxx>
// This class saves the Pam as integers and can recompose those into a PaM
@@ -156,12 +157,26 @@ void SwUndo::RemoveIdxRel( sal_uLong nIdx, const SwPosition& rPos )
::PaMCorrRel( aIdx, rPos );
}
-SwUndo::SwUndo(SwUndoId const nId)
+SwUndo::SwUndo(SwUndoId const nId, const SwDoc* pDoc)
: m_nId(nId), nOrigRedlineMode(nsRedlineMode_t::REDLINE_NONE),
+ m_nViewShellId(CreateViewShellId(pDoc)),
bCacheComment(true), pComment(nullptr)
{
}
+sal_Int32 SwUndo::CreateViewShellId(const SwDoc* pDoc)
+{
+ sal_Int32 nRet = -1;
+
+ if (const SwDocShell* pDocShell = pDoc->GetDocShell())
+ {
+ if (const SwView* pView = pDocShell->GetView())
+ nRet = pView->GetViewShellId();
+ }
+
+ return nRet;
+}
+
bool SwUndo::IsDelBox() const
{
return GetId() == UNDO_COL_DELETE || GetId() == UNDO_ROW_DELETE ||
@@ -281,6 +296,11 @@ OUString SwUndo::GetComment() const
return aResult;
}
+sal_Int32 SwUndo::GetViewShellId() const
+{
+ return m_nViewShellId;
+}
+
SwRewriter SwUndo::GetRewriter() const
{
SwRewriter aResult;
diff --git a/sw/source/core/undo/undobj1.cxx b/sw/source/core/undo/undobj1.cxx
index 5197045dc862..659bf87c8568 100644
--- a/sw/source/core/undo/undobj1.cxx
+++ b/sw/source/core/undo/undobj1.cxx
@@ -40,7 +40,7 @@
#include <ndole.hxx>
SwUndoFlyBase::SwUndoFlyBase( SwFrameFormat* pFormat, SwUndoId nUndoId )
- : SwUndo(nUndoId)
+ : SwUndo(nUndoId, pFormat->GetDoc())
, pFrameFormat(pFormat)
, nNdPgPos(0)
, nCntPos(0)
@@ -454,7 +454,7 @@ void SwUndoDelLayFormat::RedoForRollback()
}
SwUndoSetFlyFormat::SwUndoSetFlyFormat( SwFrameFormat& rFlyFormat, SwFrameFormat& rNewFrameFormat )
- : SwUndo( UNDO_SETFLYFRMFMT ), SwClient( &rFlyFormat ), pFrameFormat( &rFlyFormat ),
+ : SwUndo( UNDO_SETFLYFRMFMT, rFlyFormat.GetDoc() ), SwClient( &rFlyFormat ), pFrameFormat( &rFlyFormat ),
pOldFormat( static_cast<SwFrameFormat*>(rFlyFormat.DerivedFrom()) ), pNewFormat( &rNewFrameFormat ),
pItemSet( new SfxItemSet( *rFlyFormat.GetAttrSet().GetPool(),
rFlyFormat.GetAttrSet().GetRanges() )),
diff --git a/sw/source/core/undo/undoflystrattr.cxx b/sw/source/core/undo/undoflystrattr.cxx
index 76bff54e965b..a15b3c68ea70 100644
--- a/sw/source/core/undo/undoflystrattr.cxx
+++ b/sw/source/core/undo/undoflystrattr.cxx
@@ -25,7 +25,7 @@ SwUndoFlyStrAttr::SwUndoFlyStrAttr( SwFlyFrameFormat& rFlyFrameFormat,
const SwUndoId eUndoId,
const OUString& sOldStr,
const OUString& sNewStr )
- : SwUndo( eUndoId ),
+ : SwUndo( eUndoId, rFlyFrameFormat.GetDoc() ),
mrFlyFrameFormat( rFlyFrameFormat ),
msOldStr( sOldStr ),
msNewStr( sNewStr )
diff --git a/sw/source/core/undo/undraw.cxx b/sw/source/core/undo/undraw.cxx
index ba52ed4e4942..22a9642110e2 100644
--- a/sw/source/core/undo/undraw.cxx
+++ b/sw/source/core/undo/undraw.cxx
@@ -69,14 +69,14 @@ IMPL_LINK_TYPED( SwDoc, AddDrawUndo, SdrUndoAction *, pUndo, void )
if( pSh && pSh->HasDrawView() )
pMarkList = &pSh->GetDrawView()->GetMarkedObjectList();
- GetIDocumentUndoRedo().AppendUndo( new SwSdrUndo(pUndo, pMarkList) );
+ GetIDocumentUndoRedo().AppendUndo( new SwSdrUndo(pUndo, pMarkList, this) );
}
else
delete pUndo;
}
-SwSdrUndo::SwSdrUndo( SdrUndoAction* pUndo, const SdrMarkList* pMrkLst )
- : SwUndo( UNDO_DRAWUNDO ), pSdrUndo( pUndo )
+SwSdrUndo::SwSdrUndo( SdrUndoAction* pUndo, const SdrMarkList* pMrkLst, const SwDoc* pDoc )
+ : SwUndo( UNDO_DRAWUNDO, pDoc ), pSdrUndo( pUndo )
{
if( pMrkLst && pMrkLst->GetMarkCount() )
pMarkList = new SdrMarkList( *pMrkLst );
@@ -184,8 +184,8 @@ static void lcl_RestoreAnchor( SwFrameFormat* pFormat, sal_uLong& rNodePos )
}
}
-SwUndoDrawGroup::SwUndoDrawGroup( sal_uInt16 nCnt )
- : SwUndo( UNDO_DRAWGROUP ), nSize( nCnt + 1 ), bDelFormat( true )
+SwUndoDrawGroup::SwUndoDrawGroup( sal_uInt16 nCnt, const SwDoc* pDoc )
+ : SwUndo( UNDO_DRAWGROUP, pDoc ), nSize( nCnt + 1 ), bDelFormat( true )
{
pObjArr = new SwUndoGroupObjImpl[ nSize ];
}
@@ -320,8 +320,8 @@ void SwUndoDrawGroup::SetGroupFormat( SwDrawFrameFormat* pFormat )
pObjArr->pFormat = pFormat;
}
-SwUndoDrawUnGroup::SwUndoDrawUnGroup( SdrObjGroup* pObj )
- : SwUndo( UNDO_DRAWUNGROUP ), bDelFormat( false )
+SwUndoDrawUnGroup::SwUndoDrawUnGroup( SdrObjGroup* pObj, const SwDoc* pDoc )
+ : SwUndo( UNDO_DRAWUNGROUP, pDoc ), bDelFormat( false )
{
nSize = (sal_uInt16)pObj->GetSubList()->GetObjCount() + 1;
pObjArr = new SwUndoGroupObjImpl[ nSize ];
@@ -445,8 +445,8 @@ void SwUndoDrawUnGroup::AddObj( sal_uInt16 nPos, SwDrawFrameFormat* pFormat )
rSave.pObj = nullptr;
}
-SwUndoDrawUnGroupConnectToLayout::SwUndoDrawUnGroupConnectToLayout()
- : SwUndo( UNDO_DRAWUNGROUP )
+SwUndoDrawUnGroupConnectToLayout::SwUndoDrawUnGroupConnectToLayout(const SwDoc* pDoc)
+ : SwUndo( UNDO_DRAWUNGROUP, pDoc )
{
}
@@ -493,8 +493,8 @@ void SwUndoDrawUnGroupConnectToLayout::AddFormatAndObj( SwDrawFrameFormat* pDraw
std::pair< SwDrawFrameFormat*, SdrObject* >( pDrawFrameFormat, pDrawObject ) );
}
-SwUndoDrawDelete::SwUndoDrawDelete( sal_uInt16 nCnt )
- : SwUndo( UNDO_DRAWDELETE ), nSize( nCnt ), bDelFormat( true )
+SwUndoDrawDelete::SwUndoDrawDelete( sal_uInt16 nCnt, const SwDoc* pDoc )
+ : SwUndo( UNDO_DRAWDELETE, pDoc ), nSize( nCnt ), bDelFormat( true )
{
pObjArr = new SwUndoGroupObjImpl[ nSize ];
pMarkLst = new SdrMarkList();
diff --git a/sw/source/core/undo/unfmco.cxx b/sw/source/core/undo/unfmco.cxx
index c69f50bbf1f8..5aeaf87e70d5 100644
--- a/sw/source/core/undo/unfmco.cxx
+++ b/sw/source/core/undo/unfmco.cxx
@@ -29,7 +29,7 @@ SwUndoFormatColl::SwUndoFormatColl( const SwPaM& rRange,
SwFormatColl* pColl,
const bool bReset,
const bool bResetListAttrs )
- : SwUndo( UNDO_SETFMTCOLL ),
+ : SwUndo( UNDO_SETFMTCOLL, rRange.GetDoc() ),
SwUndRng( rRange ),
pHistory( new SwHistory ),
pFormatColl( pColl ),
diff --git a/sw/source/core/undo/unins.cxx b/sw/source/core/undo/unins.cxx
index f105bbcb5ad8..02bb04dbb1b6 100644
--- a/sw/source/core/undo/unins.cxx
+++ b/sw/source/core/undo/unins.cxx
@@ -110,7 +110,7 @@ SwUndoInsert::SwUndoInsert( const SwNodeIndex& rNd, sal_Int32 nCnt,
sal_Int32 nL,
const SwInsertFlags nInsertFlags,
bool bWDelim )
- : SwUndo(UNDO_TYPING), pText( nullptr ), pRedlData( nullptr ),
+ : SwUndo(UNDO_TYPING, rNd.GetNode().GetDoc()), pText( nullptr ), pRedlData( nullptr ),
nNode( rNd.GetIndex() ), nContent(nCnt), nLen(nL),
bIsWordDelim( bWDelim ), bIsAppend( false )
, m_bWithRsid(false)
@@ -120,7 +120,7 @@ SwUndoInsert::SwUndoInsert( const SwNodeIndex& rNd, sal_Int32 nCnt,
}
SwUndoInsert::SwUndoInsert( const SwNodeIndex& rNd )
- : SwUndo(UNDO_SPLITNODE), pText( nullptr ),
+ : SwUndo(UNDO_SPLITNODE, rNd.GetNode().GetDoc()), pText( nullptr ),
pRedlData( nullptr ), nNode( rNd.GetIndex() ), nContent(0), nLen(1),
bIsWordDelim( false ), bIsAppend( true )
, m_bWithRsid(false)
@@ -509,7 +509,7 @@ public:
SwUndoReplace::SwUndoReplace(SwPaM const& rPam,
OUString const& rIns, bool const bRegExp)
- : SwUndo( UNDO_REPLACE )
+ : SwUndo( UNDO_REPLACE, rPam.GetDoc() )
, m_pImpl(o3tl::make_unique<Impl>(rPam, rIns, bRegExp))
{
}
@@ -786,7 +786,7 @@ void SwUndoReplace::Impl::SetEnd(SwPaM const& rPam)
}
SwUndoReRead::SwUndoReRead( const SwPaM& rPam, const SwGrfNode& rGrfNd )
- : SwUndo( UNDO_REREAD ), nPos( rPam.GetPoint()->nNode.GetIndex() )
+ : SwUndo( UNDO_REREAD, rPam.GetDoc() ), nPos( rPam.GetPoint()->nNode.GetIndex() )
{
SaveGraphicData( rGrfNd );
}
@@ -866,8 +866,9 @@ SwUndoInsertLabel::SwUndoInsertLabel( const SwLabelType eTyp,
const bool bBef,
const sal_uInt16 nInitId,
const OUString& rCharacterStyle,
- const bool bCpyBorder )
- : SwUndo( UNDO_INSERTLABEL ),
+ const bool bCpyBorder,
+ const SwDoc* pDoc )
+ : SwUndo( UNDO_INSERTLABEL, pDoc ),
sText( rText ),
sSeparator( rSeparator ),
sNumberSeparator( rNumberSeparator ),//#i61007# order of captions
diff --git a/sw/source/core/undo/unmove.cxx b/sw/source/core/undo/unmove.cxx
index 5d6f7c664908..439e61caa3b8 100644
--- a/sw/source/core/undo/unmove.cxx
+++ b/sw/source/core/undo/unmove.cxx
@@ -28,7 +28,7 @@
// MOVE
SwUndoMove::SwUndoMove( const SwPaM& rRange, const SwPosition& rMvPos )
- : SwUndo( UNDO_MOVE )
+ : SwUndo( UNDO_MOVE, rRange.GetDoc() )
, SwUndRng( rRange )
, nDestSttNode(0)
, nDestEndNode(0)
@@ -95,7 +95,7 @@ SwUndoMove::SwUndoMove( const SwPaM& rRange, const SwPosition& rMvPos )
SwUndoMove::SwUndoMove( SwDoc* pDoc, const SwNodeRange& rRg,
const SwNodeIndex& rMvPos )
- : SwUndo(UNDO_MOVE)
+ : SwUndo(UNDO_MOVE, pDoc)
, nDestSttNode(0)
, nDestEndNode(0)
, nInsPosNode(0)
diff --git a/sw/source/core/undo/unnum.cxx b/sw/source/core/undo/unnum.cxx
index fc9ede2a20b6..7a69b29d35b8 100644
--- a/sw/source/core/undo/unnum.cxx
+++ b/sw/source/core/undo/unnum.cxx
@@ -30,15 +30,16 @@
SwUndoInsNum::SwUndoInsNum( const SwNumRule& rOldRule,
const SwNumRule& rNewRule,
- SwUndoId nUndoId )
- : SwUndo( nUndoId ),
+ const SwDoc* pDoc,
+ SwUndoId nUndoId)
+ : SwUndo( nUndoId, pDoc ),
aNumRule( rNewRule ), pHistory( nullptr ), nSttSet( ULONG_MAX ),
pOldNumRule( new SwNumRule( rOldRule )), nLRSavePos( 0 )
{
}
SwUndoInsNum::SwUndoInsNum( const SwPaM& rPam, const SwNumRule& rRule )
- : SwUndo( UNDO_INSNUM ), SwUndRng( rPam ),
+ : SwUndo( UNDO_INSNUM, rPam.GetDoc() ), SwUndRng( rPam ),
aNumRule( rRule ), pHistory( nullptr ),
nSttSet( ULONG_MAX ), pOldNumRule( nullptr ), nLRSavePos( 0 )
{
@@ -46,7 +47,7 @@ SwUndoInsNum::SwUndoInsNum( const SwPaM& rPam, const SwNumRule& rRule )
SwUndoInsNum::SwUndoInsNum( const SwPosition& rPos, const SwNumRule& rRule,
const OUString& rReplaceRule )
- : SwUndo( UNDO_INSNUM ),
+ : SwUndo( UNDO_INSNUM, rPos.nNode.GetNode().GetDoc() ),
aNumRule( rRule ), pHistory( nullptr ),
nSttSet( ULONG_MAX ), pOldNumRule( nullptr ),
sReplaceRule( rReplaceRule ), nLRSavePos( 0 )
@@ -162,7 +163,7 @@ void SwUndoInsNum::SaveOldNumRule( const SwNumRule& rOld )
}
SwUndoDelNum::SwUndoDelNum( const SwPaM& rPam )
- : SwUndo( UNDO_DELNUM ), SwUndRng( rPam )
+ : SwUndo( UNDO_DELNUM, rPam.GetDoc() ), SwUndRng( rPam )
{
aNodes.reserve( nEndNode - nSttNode > 255 ? 255 : nEndNode - nSttNode );
pHistory = new SwHistory;
@@ -213,7 +214,7 @@ void SwUndoDelNum::AddNode( const SwTextNode& rNd )
}
SwUndoMoveNum::SwUndoMoveNum( const SwPaM& rPam, long nOff, bool bIsOutlMv )
- : SwUndo( bIsOutlMv ? UNDO_OUTLINE_UD : UNDO_MOVENUM ),
+ : SwUndo( bIsOutlMv ? UNDO_OUTLINE_UD : UNDO_MOVENUM, rPam.GetDoc() ),
SwUndRng( rPam ),
nNewStt( 0 ), nOffset( nOff )
{
@@ -262,7 +263,8 @@ void SwUndoMoveNum::RepeatImpl(::sw::RepeatContext & rContext)
}
SwUndoNumUpDown::SwUndoNumUpDown( const SwPaM& rPam, short nOff )
- : SwUndo( nOff > 0 ? UNDO_NUMUP : UNDO_NUMDOWN ), SwUndRng( rPam ),
+ : SwUndo( nOff > 0 ? UNDO_NUMUP : UNDO_NUMDOWN, rPam.GetDoc() ),
+ SwUndRng( rPam ),
nOffset( nOff )
{
// nOffset: Down => 1
@@ -288,7 +290,8 @@ void SwUndoNumUpDown::RepeatImpl(::sw::RepeatContext & rContext)
SwUndoNumOrNoNum::SwUndoNumOrNoNum( const SwNodeIndex& rIdx, bool bOldNum,
bool bNewNum)
- : SwUndo( UNDO_NUMORNONUM ), nIdx( rIdx.GetIndex() ), mbNewNum(bNewNum),
+ : SwUndo( UNDO_NUMORNONUM, rIdx.GetNode().GetDoc() ),
+ nIdx( rIdx.GetIndex() ), mbNewNum(bNewNum),
mbOldNum(bOldNum)
{
}
@@ -331,14 +334,14 @@ void SwUndoNumOrNoNum::RepeatImpl(::sw::RepeatContext & rContext)
}
SwUndoNumRuleStart::SwUndoNumRuleStart( const SwPosition& rPos, bool bFlg )
- : SwUndo( UNDO_SETNUMRULESTART ),
+ : SwUndo( UNDO_SETNUMRULESTART, rPos.GetDoc() ),
nIdx( rPos.nNode.GetIndex() ), nOldStt( USHRT_MAX ),
nNewStt( USHRT_MAX ), bSetSttValue( false ), bFlag( bFlg )
{
}
SwUndoNumRuleStart::SwUndoNumRuleStart( const SwPosition& rPos, sal_uInt16 nStt )
- : SwUndo(UNDO_SETNUMRULESTART)
+ : SwUndo(UNDO_SETNUMRULESTART, rPos.GetDoc())
, nIdx(rPos.nNode.GetIndex())
, nOldStt(USHRT_MAX)
, nNewStt(nStt)
diff --git a/sw/source/core/undo/unoutl.cxx b/sw/source/core/undo/unoutl.cxx
index d01baaa69f57..d4573288e88e 100644
--- a/sw/source/core/undo/unoutl.cxx
+++ b/sw/source/core/undo/unoutl.cxx
@@ -26,7 +26,7 @@
SwUndoOutlineLeftRight::SwUndoOutlineLeftRight( const SwPaM& rPam,
short nOff )
- : SwUndo( UNDO_OUTLINE_LR ), SwUndRng( rPam ), nOffset( nOff )
+ : SwUndo( UNDO_OUTLINE_LR, rPam.GetDoc() ), SwUndRng( rPam ), nOffset( nOff )
{
}
diff --git a/sw/source/core/undo/unovwr.cxx b/sw/source/core/undo/unovwr.cxx
index 25c178b48005..a64586a0031d 100644
--- a/sw/source/core/undo/unovwr.cxx
+++ b/sw/source/core/undo/unovwr.cxx
@@ -42,7 +42,7 @@ using namespace ::com::sun::star::uno;
SwUndoOverwrite::SwUndoOverwrite( SwDoc* pDoc, SwPosition& rPos,
sal_Unicode cIns )
- : SwUndo(UNDO_OVERWRITE),
+ : SwUndo(UNDO_OVERWRITE, pDoc),
pRedlSaveData( nullptr ), bGroup( false )
{
if( !pDoc->getIDocumentRedlineAccess().IsIgnoreRedline() && !pDoc->getIDocumentRedlineAccess().GetRedlineTable().empty() )
@@ -343,7 +343,7 @@ struct UndoTransliterate_Data
SwUndoTransliterate::SwUndoTransliterate(
const SwPaM& rPam,
const utl::TransliterationWrapper& rTrans )
- : SwUndo( UNDO_TRANSLITERATE ), SwUndRng( rPam ), nType( rTrans.getType() )
+ : SwUndo( UNDO_TRANSLITERATE, rPam.GetDoc() ), SwUndRng( rPam ), nType( rTrans.getType() )
{
}
diff --git a/sw/source/core/undo/unredln.cxx b/sw/source/core/undo/unredln.cxx
index 9e4c7e767b28..34481305186b 100644
--- a/sw/source/core/undo/unredln.cxx
+++ b/sw/source/core/undo/unredln.cxx
@@ -34,7 +34,7 @@
#include <docedt.hxx>
SwUndoRedline::SwUndoRedline( SwUndoId nUsrId, const SwPaM& rRange )
- : SwUndo( UNDO_REDLINE ), SwUndRng( rRange ),
+ : SwUndo( UNDO_REDLINE, rRange.GetDoc() ), SwUndRng( rRange ),
mpRedlData( nullptr ), mpRedlSaveData( nullptr ), mnUserId( nUsrId ),
mbHiddenRedlines( false )
{
@@ -355,7 +355,7 @@ void SwUndoRejectRedline::RepeatImpl(::sw::RepeatContext & rContext)
}
SwUndoCompDoc::SwUndoCompDoc( const SwPaM& rRg, bool bIns )
- : SwUndo( UNDO_COMPAREDOC ), SwUndRng( rRg ), pRedlData( nullptr ),
+ : SwUndo( UNDO_COMPAREDOC, rRg.GetDoc() ), SwUndRng( rRg ), pRedlData( nullptr ),
pUnDel( nullptr ), pUnDel2( nullptr ), pRedlSaveData( nullptr ), bInsert( bIns )
{
SwDoc* pDoc = rRg.GetDoc();
@@ -368,7 +368,7 @@ SwUndoCompDoc::SwUndoCompDoc( const SwPaM& rRg, bool bIns )
}
SwUndoCompDoc::SwUndoCompDoc( const SwRangeRedline& rRedl )
- : SwUndo( UNDO_COMPAREDOC ), SwUndRng( rRedl ), pRedlData( nullptr ),
+ : SwUndo( UNDO_COMPAREDOC, rRedl.GetDoc() ), SwUndRng( rRedl ), pRedlData( nullptr ),
pUnDel( nullptr ), pUnDel2( nullptr ), pRedlSaveData( nullptr ),
// for MergeDoc the corresponding inverse is needed
bInsert( nsRedlineType_t::REDLINE_DELETE == rRedl.GetType() )
diff --git a/sw/source/core/undo/unsect.cxx b/sw/source/core/undo/unsect.cxx
index 06097f7f4509..c010369a5e02 100644
--- a/sw/source/core/undo/unsect.cxx
+++ b/sw/source/core/undo/unsect.cxx
@@ -70,7 +70,7 @@ static SfxItemSet* lcl_GetAttrSet( const SwSection& rSect )
SwUndoInsSection::SwUndoInsSection(
SwPaM const& rPam, SwSectionData const& rNewData,
SfxItemSet const*const pSet, SwTOXBase const*const pTOXBase)
- : SwUndo( UNDO_INSSECTION ), SwUndRng( rPam )
+ : SwUndo( UNDO_INSSECTION, rPam.GetDoc() ), SwUndRng( rPam )
, m_pSectionData(new SwSectionData(rNewData))
, m_pTOXBase( (pTOXBase) ? new SwTOXBase(*pTOXBase) : nullptr )
, m_pAttrSet( (pSet && pSet->Count()) ? new SfxItemSet( *pSet ) : nullptr )
@@ -303,7 +303,7 @@ SwUndo * MakeUndoDelSection(SwSectionFormat const& rFormat)
SwUndoDelSection::SwUndoDelSection(
SwSectionFormat const& rSectionFormat, SwSection const& rSection,
SwNodeIndex const*const pIndex)
- : SwUndo( UNDO_DELSECTION )
+ : SwUndo( UNDO_DELSECTION, rSectionFormat.GetDoc() )
, m_pSectionData( new SwSectionData(rSection) )
, m_pTOXBase( dynamic_cast<const SwTOXBaseSection*>( &rSection) != nullptr
? new SwTOXBase(static_cast<SwTOXBaseSection const&>(rSection))
@@ -412,7 +412,7 @@ MakeUndoUpdateSection(SwSectionFormat const& rFormat, bool const bOnlyAttr)
SwUndoUpdateSection::SwUndoUpdateSection(
SwSection const& rSection, SwNodeIndex const*const pIndex,
bool const bOnlyAttr)
- : SwUndo( UNDO_CHGSECTION )
+ : SwUndo( UNDO_CHGSECTION, pIndex->GetNode().GetDoc() )
, m_pSectionData( new SwSectionData(rSection) )
, m_pAttrSet( ::lcl_GetAttrSet(rSection) )
, m_nStartNode( pIndex->GetIndex() )
diff --git a/sw/source/core/undo/unsort.cxx b/sw/source/core/undo/unsort.cxx
index 1f62d4235874..903c42b794b0 100644
--- a/sw/source/core/undo/unsort.cxx
+++ b/sw/source/core/undo/unsort.cxx
@@ -42,7 +42,7 @@ SwSortUndoElement::~SwSortUndoElement()
}
SwUndoSort::SwUndoSort(const SwPaM& rRg, const SwSortOptions& rOpt)
- : SwUndo(UNDO_SORT_TXT)
+ : SwUndo(UNDO_SORT_TXT, rRg.GetDoc())
, SwUndRng(rRg)
, pUndoTableAttr(nullptr)
, nTableNd(0)
@@ -52,7 +52,7 @@ SwUndoSort::SwUndoSort(const SwPaM& rRg, const SwSortOptions& rOpt)
SwUndoSort::SwUndoSort( sal_uLong nStt, sal_uLong nEnd, const SwTableNode& rTableNd,
const SwSortOptions& rOpt, bool bSaveTable )
- : SwUndo(UNDO_SORT_TBL), pUndoTableAttr( nullptr )
+ : SwUndo(UNDO_SORT_TBL, rTableNd.GetDoc()), pUndoTableAttr( nullptr )
{
nSttNode = nStt;
nEndNode = nEnd;
diff --git a/sw/source/core/undo/unspnd.cxx b/sw/source/core/undo/unspnd.cxx
index 7f6e3a7e0599..3cdd94158c1d 100644
--- a/sw/source/core/undo/unspnd.cxx
+++ b/sw/source/core/undo/unspnd.cxx
@@ -37,7 +37,7 @@
SwUndoSplitNode::SwUndoSplitNode( SwDoc* pDoc, const SwPosition& rPos,
bool bChkTable )
- : SwUndo( UNDO_SPLITNODE ), pHistory( nullptr ), pRedlData( nullptr ), nNode( rPos.nNode.GetIndex() ),
+ : SwUndo( UNDO_SPLITNODE, pDoc ), pHistory( nullptr ), pRedlData( nullptr ), nNode( rPos.nNode.GetIndex() ),
nContent( rPos.nContent.GetIndex() ),
bTableFlag( false ), bChkTableStt( bChkTable )
{
diff --git a/sw/source/core/undo/untbl.cxx b/sw/source/core/undo/untbl.cxx
index e270b8c4cd42..ffabd817ef4c 100644
--- a/sw/source/core/undo/untbl.cxx
+++ b/sw/source/core/undo/untbl.cxx
@@ -219,7 +219,7 @@ SwUndoInsTable::SwUndoInsTable( const SwPosition& rPos, sal_uInt16 nCl, sal_uInt
const SwTableAutoFormat* pTAFormat,
const std::vector<sal_uInt16> *pColArr,
const OUString & rName)
- : SwUndo( UNDO_INSTABLE ),
+ : SwUndo( UNDO_INSTABLE, rPos.GetDoc() ),
aInsTableOpts( rInsTableOpts ), pDDEFieldType( nullptr ), pColWidth( nullptr ), pRedlData( nullptr ), pAutoFormat( nullptr ),
nSttNode( rPos.nNode.GetIndex() ), nRows( nRw ), nCols( nCl ), nAdjust( nAdj )
{
@@ -396,7 +396,7 @@ SwTableToTextSave::SwTableToTextSave( SwDoc& rDoc, sal_uLong nNd, sal_uLong nEnd
}
SwUndoTableToText::SwUndoTableToText( const SwTable& rTable, sal_Unicode cCh )
- : SwUndo( UNDO_TABLETOTEXT ),
+ : SwUndo( UNDO_TABLETOTEXT, rTable.GetFrameFormat()->GetDoc() ),
sTableNm( rTable.GetFrameFormat()->GetName() ), pDDEFieldType( nullptr ), pHistory( nullptr ),
nSttNd( 0 ), nEndNd( 0 ),
cTrenner( cCh ), nHdlnRpt( rTable.GetRowsToRepeat() )
@@ -690,7 +690,7 @@ SwUndoTextToTable::SwUndoTextToTable( const SwPaM& rRg,
const SwInsertTableOptions& rInsTableOpts,
sal_Unicode cCh, sal_uInt16 nAdj,
const SwTableAutoFormat* pAFormat )
- : SwUndo( UNDO_TEXTTOTABLE ), SwUndRng( rRg ), aInsTableOpts( rInsTableOpts ),
+ : SwUndo( UNDO_TEXTTOTABLE, rRg.GetDoc() ), SwUndRng( rRg ), aInsTableOpts( rInsTableOpts ),
pDelBoxes( nullptr ), pAutoFormat( nullptr ),
pHistory( nullptr ), cTrenner( cCh ), nAdjust( nAdj )
{
@@ -827,7 +827,7 @@ SwHistory& SwUndoTextToTable::GetHistory()
SwUndoTableHeadline::SwUndoTableHeadline( const SwTable& rTable, sal_uInt16 nOldHdl,
sal_uInt16 nNewHdl )
- : SwUndo( UNDO_TABLEHEADLINE ),
+ : SwUndo( UNDO_TABLEHEADLINE, rTable.GetFrameFormat()->GetDoc() ),
nOldHeadline( nOldHdl ),
nNewHeadline( nNewHdl )
{
@@ -1371,7 +1371,7 @@ void SaveBox::CreateNew( SwTable& rTable, SwTableLine& rParent, SaveTable& rSTab
// UndoObject for attribute changes on table
SwUndoAttrTable::SwUndoAttrTable( const SwTableNode& rTableNd, bool bClearTabCols )
- : SwUndo( UNDO_TABLE_ATTR ),
+ : SwUndo( UNDO_TABLE_ATTR, rTableNd.GetDoc() ),
nSttNode( rTableNd.GetIndex() )
{
bClearTabCol = bClearTabCols;
@@ -1409,7 +1409,7 @@ void SwUndoAttrTable::RedoImpl(::sw::UndoRedoContext & rContext)
// UndoObject for AutoFormat on Table
SwUndoTableAutoFormat::SwUndoTableAutoFormat( const SwTableNode& rTableNd,
const SwTableAutoFormat& rAFormat )
- : SwUndo( UNDO_TABLE_AUTOFMT )
+ : SwUndo( UNDO_TABLE_AUTOFMT, rTableNd.GetDoc() )
, m_TableStyleName(rTableNd.GetTable().GetTableStyleName())
, nSttNode( rTableNd.GetIndex() )
, bSaveContentAttr( false )
@@ -1487,7 +1487,7 @@ SwUndoTableNdsChg::SwUndoTableNdsChg( SwUndoId nAction,
const SwTableNode& rTableNd,
long nMn, long nMx,
sal_uInt16 nCnt, bool bFlg, bool bSmHght )
- : SwUndo( nAction ),
+ : SwUndo( nAction, rTableNd.GetDoc() ),
nMin( nMn ), nMax( nMx ),
nSttNode( rTableNd.GetIndex() ), nCurrBox( 0 ),
nCount( nCnt ), nRelDiff( 0 ), nAbsDiff( 0 ),
@@ -1505,7 +1505,7 @@ SwUndoTableNdsChg::SwUndoTableNdsChg( SwUndoId nAction,
SwUndoTableNdsChg::SwUndoTableNdsChg( SwUndoId nAction,
const SwSelBoxes& rBoxes,
const SwTableNode& rTableNd )
- : SwUndo( nAction ),
+ : SwUndo( nAction, rTableNd.GetDoc() ),
nMin( 0 ), nMax( 0 ),
nSttNode( rTableNd.GetIndex() ), nCurrBox( 0 ),
nCount( 0 ), nRelDiff( 0 ), nAbsDiff( 0 ),
@@ -1940,7 +1940,7 @@ void SwUndoTableNdsChg::RedoImpl(::sw::UndoRedoContext & rContext)
}
SwUndoTableMerge::SwUndoTableMerge( const SwPaM& rTableSel )
- : SwUndo( UNDO_TABLE_MERGE ), SwUndRng( rTableSel )
+ : SwUndo( UNDO_TABLE_MERGE, rTableSel.GetDoc() ), SwUndRng( rTableSel )
, m_pMoves(new SwUndoMoves)
, pHistory(nullptr)
{
@@ -2157,7 +2157,7 @@ void SwUndoTableMerge::SaveCollection( const SwTableBox& rBox )
SwUndoTableNumFormat::SwUndoTableNumFormat( const SwTableBox& rBox,
const SfxItemSet* pNewSet )
- : SwUndo(UNDO_TBLNUMFMT)
+ : SwUndo(UNDO_TBLNUMFMT, rBox.GetFrameFormat()->GetDoc())
, pBoxSet(nullptr)
, pHistory(nullptr)
, nFormatIdx(css::util::NumberFormat::TEXT)
@@ -2429,8 +2429,8 @@ UndoTableCpyTable_Entry::~UndoTableCpyTable_Entry()
delete pBoxNumAttr;
}
-SwUndoTableCpyTable::SwUndoTableCpyTable()
- : SwUndo( UNDO_TBLCPYTBL )
+SwUndoTableCpyTable::SwUndoTableCpyTable(const SwDoc* pDoc)
+ : SwUndo( UNDO_TBLCPYTBL, pDoc )
, m_pArr(new SwUndoTableCpyTable_Entries)
, pInsRowUndo(nullptr)
{
@@ -2835,8 +2835,8 @@ bool SwUndoTableCpyTable::IsEmpty() const
return !pInsRowUndo && m_pArr->empty();
}
-SwUndoCpyTable::SwUndoCpyTable()
- : SwUndo( UNDO_CPYTBL ), pDel( nullptr ), nTableNode( 0 )
+SwUndoCpyTable::SwUndoCpyTable(const SwDoc* pDoc)
+ : SwUndo( UNDO_CPYTBL, pDoc ), pDel( nullptr ), nTableNode( 0 )
{
}
@@ -2879,7 +2879,7 @@ void SwUndoCpyTable::RedoImpl(::sw::UndoRedoContext & rContext)
SwUndoSplitTable::SwUndoSplitTable( const SwTableNode& rTableNd,
SwSaveRowSpan* pRowSp, sal_uInt16 eMode, bool bNewSize )
- : SwUndo( UNDO_SPLIT_TABLE ),
+ : SwUndo( UNDO_SPLIT_TABLE, rTableNd.GetDoc() ),
nTableNode( rTableNd.GetIndex() ), nOffset( 0 ), mpSaveRowSpan( pRowSp ), pSavTable( nullptr ),
pHistory( nullptr ), nMode( eMode ), nFormulaEnd( 0 ), bCalcNewSize( bNewSize )
{
@@ -3010,7 +3010,7 @@ void SwUndoSplitTable::SaveFormula( SwHistory& rHistory )
SwUndoMergeTable::SwUndoMergeTable( const SwTableNode& rTableNd,
const SwTableNode& rDelTableNd,
bool bWithPrv, sal_uInt16 nMd )
- : SwUndo( UNDO_MERGE_TABLE ), pSavTable( nullptr ),
+ : SwUndo( UNDO_MERGE_TABLE, rTableNd.GetDoc() ), pSavTable( nullptr ),
pHistory( nullptr ), nMode( nMd ), bWithPrev( bWithPrv )
{
// memorize end node of the last table cell that'll stay in position
diff --git a/sw/source/core/undo/untblk.cxx b/sw/source/core/undo/untblk.cxx
index 762e3d6e6eef..50674f81a7ef 100644
--- a/sw/source/core/undo/untblk.cxx
+++ b/sw/source/core/undo/untblk.cxx
@@ -33,7 +33,7 @@
#include <redline.hxx>
SwUndoInserts::SwUndoInserts( SwUndoId nUndoId, const SwPaM& rPam )
- : SwUndo( nUndoId ), SwUndRng( rPam ),
+ : SwUndo( nUndoId, rPam.GetDoc() ), SwUndRng( rPam ),
pTextFormatColl( nullptr ), pLastNdColl(nullptr), pFrameFormats( nullptr ), pRedlData( nullptr ),
bSttWasTextNd( true ), nNdDiff( 0 ), nSetPos( 0 )
{