diff options
-rw-r--r-- | sc/source/core/data/attarray.cxx | 6 |
1 files changed, 5 insertions, 1 deletions
diff --git a/sc/source/core/data/attarray.cxx b/sc/source/core/data/attarray.cxx index 3805ad4fa662..9431c468bfe6 100644 --- a/sc/source/core/data/attarray.cxx +++ b/sc/source/core/data/attarray.cxx @@ -42,6 +42,7 @@ #include <editdataarray.hxx> #include <cellvalue.hxx> #include <editutil.hxx> +#include <mtvelements.hxx> #include <memory> using ::editeng::SvxBorderLine; @@ -397,10 +398,13 @@ void ScAttrArray::RemoveCellCharAttribs( SCROW nStartRow, SCROW nEndRow, const ScPatternAttr* pPattern, ScEditDataArray* pDataArray ) { assert( nCol != -1 ); + // cache mdds position, this doesn't modify the mdds container, just EditTextObject's + sc::ColumnBlockPosition blockPos; + pDocument->InitColumnBlockPosition( blockPos, nTab, nCol ); for (SCROW nRow = nStartRow; nRow <= nEndRow; ++nRow) { ScAddress aPos(nCol, nRow, nTab); - ScRefCellValue aCell(*pDocument, aPos); + ScRefCellValue aCell(*pDocument, aPos, blockPos); if (aCell.meType != CELLTYPE_EDIT || !aCell.mpEditText) continue; |