summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorKohei Yoshida <kohei.yoshida@gmail.com>2013-06-25 23:14:43 -0400
committerKohei Yoshida <kohei.yoshida@gmail.com>2013-06-27 15:47:55 -0400
commit9a5783112513c3eaf4928bc191d9112a67337da1 (patch)
tree63da928f62ce44556448bbe52b7585785107343f
parentccb1edf29c024659b95f0c886c39c784fd60b8b2 (diff)
Let's not forget to store the position afterward.
Change-Id: Ia5067db46460e164643dd8cc6d21b68a05b3b33a
-rw-r--r--sc/source/core/data/column.cxx13
1 files changed, 10 insertions, 3 deletions
diff --git a/sc/source/core/data/column.cxx b/sc/source/core/data/column.cxx
index 601ec4f2653d..8b2f769fa0e9 100644
--- a/sc/source/core/data/column.cxx
+++ b/sc/source/core/data/column.cxx
@@ -1275,6 +1275,7 @@ class CopyToClipHandler
const ScColumn& mrSrcCol;
ScColumn& mrDestCol;
sc::ColumnBlockPosition maDestPos;
+ sc::ColumnBlockPosition* mpDestPos;
void setDefaultAttrsToDest(size_t nRow, size_t nSize)
{
@@ -1285,14 +1286,20 @@ class CopyToClipHandler
public:
CopyToClipHandler(const ScColumn& rSrcCol, ScColumn& rDestCol, sc::ColumnBlockPosition* pDestPos) :
- mrSrcCol(rSrcCol), mrDestCol(rDestCol)
+ mrSrcCol(rSrcCol), mrDestCol(rDestCol), mpDestPos(pDestPos)
{
- if (pDestPos)
- maDestPos = *pDestPos;
+ if (mpDestPos)
+ maDestPos = *mpDestPos;
else
mrDestCol.InitBlockPosition(maDestPos);
}
+ ~CopyToClipHandler()
+ {
+ if (mpDestPos)
+ *mpDestPos = maDestPos;
+ }
+
void operator() (const sc::CellStoreType::value_type& aNode, size_t nOffset, size_t nDataSize)
{
size_t nTopRow = aNode.position;