sc/source/core/data/column4.cxx | 8 +++++--- 1 file changed, 5 insertions(+), 3 deletions(-)
New commits: commit c3e1708ca41148daa717baa38a4e21cc5b15d971 Author: Eike Rathke <er...@redhat.com> Date: Sat Dec 20 23:48:52 2014 +0100 fdo#86215 pool new ScPatternAttr if source and destination are different docs (cherry picked from commit d9c15867e914d91a7e86c499ffb6ee62f5b443f6) Conflicts: sc/source/core/data/column4.cxx Change-Id: Icdb68af83a0b208f9a427ee61ae18020c8835a41 Reviewed-on: https://gerrit.libreoffice.org/13428 Reviewed-by: Caolán McNamara <caol...@redhat.com> Tested-by: Caolán McNamara <caol...@redhat.com> diff --git a/sc/source/core/data/column4.cxx b/sc/source/core/data/column4.cxx index aeaecb0..19c2c2c 100644 --- a/sc/source/core/data/column4.cxx +++ b/sc/source/core/data/column4.cxx @@ -148,6 +148,8 @@ void ScColumn::CopyOneCellFromClip( sc::CopyFromClipContext& rCxt, SCROW nRow1, if (!pBlockPos) return; + bool bSameDocPool = (rCxt.getClipDoc()->GetPool() == pDocument->GetPool()); + ScCellValue& rSrcCell = rCxt.getSingleCell(); sal_uInt16 nFlags = rCxt.getInsertFlag(); @@ -156,7 +158,8 @@ void ScColumn::CopyOneCellFromClip( sc::CopyFromClipContext& rCxt, SCROW nRow1, { if (!rCxt.isSkipAttrForEmptyCells() || rSrcCell.meType != CELLTYPE_NONE) { - const ScPatternAttr* pAttr = rCxt.getSingleCellPattern(); + const ScPatternAttr* pAttr = (bSameDocPool ? rCxt.getSingleCellPattern() : + rCxt.getSingleCellPattern()->PutInPool( pDocument, rCxt.getClipDoc())); pAttrArray->SetPatternArea(nRow1, nRow2, pAttr, true); } } @@ -181,8 +184,7 @@ void ScColumn::CopyOneCellFromClip( sc::CopyFromClipContext& rCxt, SCROW nRow1, { // Compare the ScDocumentPool* to determine if we are copying within the // same document. If not, re-intern shared strings. - svl::SharedStringPool* pSharedStringPool = (rCxt.getClipDoc()->GetPool() != pDocument->GetPool()) ? - &pDocument->GetSharedStringPool() : NULL; + svl::SharedStringPool* pSharedStringPool = (bSameDocPool ? NULL : &pDocument->GetSharedStringPool()); svl::SharedString aStr = (pSharedStringPool ? pSharedStringPool->intern( rSrcCell.mpString->getString()) : *rSrcCell.mpString);
_______________________________________________ Libreoffice-commits mailing list libreoffice-comm...@lists.freedesktop.org http://lists.freedesktop.org/mailman/listinfo/libreoffice-commits