Kaydet (Commit) eebd2c72 authored tarafından Dennis Francis's avatar Dennis Francis Kaydeden (comit) Eike Rathke

tdf#112452 : Refine the fix for tdf#94561

Do the changes in 7c0f6b9d
only if the destination is not an undo document.

Also removes the below unnecessary change in that commit.

if ( IsNoteCaption( pOldObject ) )
{
    pOldObject = aIter.Next();
    continue;
}

Change-Id: Ib18324ed16e91dbd932d449858a489dc09c53713
Reviewed-on: https://gerrit.libreoffice.org/56287
Tested-by: Jenkins
Reviewed-by: 's avatarEike Rathke <erack@redhat.com>
üst 3f750c1e
...@@ -452,11 +452,6 @@ void ScDrawLayer::ScCopyPage( sal_uInt16 nOldPos, sal_uInt16 nNewPos ) ...@@ -452,11 +452,6 @@ void ScDrawLayer::ScCopyPage( sal_uInt16 nOldPos, sal_uInt16 nNewPos )
SdrObject* pOldObject = aIter.Next(); SdrObject* pOldObject = aIter.Next();
while (pOldObject) while (pOldObject)
{ {
if ( IsNoteCaption( pOldObject ) )
{
pOldObject = aIter.Next();
continue;
}
ScDrawObjData* pOldData = GetObjData(pOldObject); ScDrawObjData* pOldData = GetObjData(pOldObject);
if (pOldData) if (pOldData)
{ {
......
...@@ -1129,19 +1129,20 @@ void ScTable::CopyToTable( ...@@ -1129,19 +1129,20 @@ void ScTable::CopyToTable(
if (!ValidColRow(nCol1, nRow1) || !ValidColRow(nCol2, nRow2)) if (!ValidColRow(nCol1, nRow1) || !ValidColRow(nCol2, nRow2))
return; return;
bool bIsUndoDoc = pDestTab->pDocument->IsUndo();
if (nFlags != InsertDeleteFlags::NONE) if (nFlags != InsertDeleteFlags::NONE)
{ {
InsertDeleteFlags nTempFlags( nFlags & InsertDeleteFlags nTempFlags( nFlags &
~InsertDeleteFlags( InsertDeleteFlags::NOTE | InsertDeleteFlags::ADDNOTES)); ~InsertDeleteFlags( InsertDeleteFlags::NOTE | InsertDeleteFlags::ADDNOTES));
for (SCCOL i = nCol1; i <= nCol2; i++) for (SCCOL i = nCol1; i <= nCol2; i++)
aCol[i].CopyToColumn(rCxt, nRow1, nRow2, nTempFlags, bMarked, aCol[i].CopyToColumn(rCxt, nRow1, nRow2, bIsUndoDoc ? nFlags : nTempFlags, bMarked,
pDestTab->aCol[i], pMarkData, bAsLink, bGlobalNamesToLocal); pDestTab->aCol[i], pMarkData, bAsLink, bGlobalNamesToLocal);
} }
if (!bColRowFlags) // Column widths/Row heights/Flags if (!bColRowFlags) // Column widths/Row heights/Flags
return; return;
if(pDestTab->pDocument->IsUndo() && (nFlags & InsertDeleteFlags::ATTRIB)) if(bIsUndoDoc && (nFlags & InsertDeleteFlags::ATTRIB))
{ {
pDestTab->mpCondFormatList.reset(new ScConditionalFormatList(pDestTab->pDocument, *mpCondFormatList)); pDestTab->mpCondFormatList.reset(new ScConditionalFormatList(pDestTab->pDocument, *mpCondFormatList));
} }
...@@ -1249,7 +1250,7 @@ void ScTable::CopyToTable( ...@@ -1249,7 +1250,7 @@ void ScTable::CopyToTable(
if(nFlags & InsertDeleteFlags::OUTLINE) // also only when bColRowFlags if(nFlags & InsertDeleteFlags::OUTLINE) // also only when bColRowFlags
pDestTab->SetOutlineTable( pOutlineTable.get() ); pDestTab->SetOutlineTable( pOutlineTable.get() );
if (bCopyCaptions && (nFlags & (InsertDeleteFlags::NOTE | InsertDeleteFlags::ADDNOTES))) if (!bIsUndoDoc && bCopyCaptions && (nFlags & (InsertDeleteFlags::NOTE | InsertDeleteFlags::ADDNOTES)))
{ {
bool bCloneCaption = (nFlags & InsertDeleteFlags::NOCAPTIONS) == InsertDeleteFlags::NONE; bool bCloneCaption = (nFlags & InsertDeleteFlags::NOCAPTIONS) == InsertDeleteFlags::NONE;
CopyCaptionsToTable( nCol1, nRow1, nCol2, nRow2, pDestTab, bCloneCaption); CopyCaptionsToTable( nCol1, nRow1, nCol2, nRow2, pDestTab, bCloneCaption);
......
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