diff options
author | Stepas Toliautas <stepas.toliautas@gmail.com> | 2019-12-17 11:09:33 +0200 |
---|---|---|
committer | Thorsten Behrens <Thorsten.Behrens@CIB.de> | 2019-12-18 17:48:38 +0100 |
commit | f6a4b8ca7f79126569db14b030b46733309dbda6 (patch) | |
tree | ff02d68b6160f5a0dddae796a954b75d017e55bf /svx | |
parent | a783c1bb61ab888275241ff589a84d216ecbb3dc (diff) |
tdf#127481: reset active cell reference during table copy
During cloning of 1x1 table, SdrTableObjImpl.mxActiveCell reference
is set incorrectly, keeping an address of a temporary cell.
I clear that reference so it gets assigned to a cell of a new table
on first request. An alternative is to find the position of an active
cell in source table and set it to a corresponding cell in cloned
table (after call to new TableModel()), but I have no opinion
on whether newly-cloned table should have active cell marker,
and the assignment seems to work in some other fashion for multi-cell
tables. So I just zero-init temp object, which should be done anyway.
Change-Id: I965b7afbfedf2e57262d3388be1d045687521eee
Reviewed-on: https://gerrit.libreoffice.org/85275
Tested-by: Jenkins
Reviewed-by: Thorsten Behrens <Thorsten.Behrens@CIB.de>
Diffstat (limited to 'svx')
-rw-r--r-- | svx/source/table/svdotable.cxx | 3 |
1 files changed, 3 insertions, 0 deletions
diff --git a/svx/source/table/svdotable.cxx b/svx/source/table/svdotable.cxx index 68386971fb88..2538b798c55c 100644 --- a/svx/source/table/svdotable.cxx +++ b/svx/source/table/svdotable.cxx @@ -410,6 +410,9 @@ SdrTableObjImpl& SdrTableObjImpl::operator=( const SdrTableObjImpl& rSource ) mxTable.clear(); } + // tdf#127481: reset active cell reference + mxActiveCell.clear(); + // copy TableStyle (short internal data) maTableStyle = rSource.maTableStyle; |