diff options
author | Eike Rathke <erack@redhat.com> | 2015-06-05 15:51:46 +0200 |
---|---|---|
committer | Eike Rathke <erack@redhat.com> | 2015-06-05 16:22:38 +0200 |
commit | 2f6a06856ad8df0c11a112d1e457b408e9a7af1d (patch) | |
tree | e2376a0b58c878522e839aa28c36257b349d6751 /sc | |
parent | 15499b1e4f2d31c2707d75800046f7fa12bb5dac (diff) |
tdf#90694 reset group area listeners when splitting group
Change-Id: Ib3e85e1f7e12447fc2998711663ea1e9d1b322e5
Diffstat (limited to 'sc')
-rw-r--r-- | sc/source/core/tool/sharedformula.cxx | 11 |
1 files changed, 11 insertions, 0 deletions
diff --git a/sc/source/core/tool/sharedformula.cxx b/sc/source/core/tool/sharedformula.cxx index 4236a9f07231..c21b31ec2c81 100644 --- a/sc/source/core/tool/sharedformula.cxx +++ b/sc/source/core/tool/sharedformula.cxx @@ -52,6 +52,17 @@ void SharedFormulaUtil::splitFormulaCellGroup(const CellStoreType::position_type xGroup2->mpCode = xGroup->mpCode->Clone(); } +#if USE_FORMULA_GROUP_LISTENER + // At least group area listeners will have to be adapted. As long as + // there's no update mechanism and no separated handling of group area and + // other listeners, all listeners of this group's top cell are to be reset. + if (nLength2) + { + rTop.EndListeningTo( rTop.GetDocument(), NULL, ScAddress( ScAddress::UNINITIALIZED)); + rTop.SetNeedsListening(true); + } +#endif + xGroup->mnLength = nRow - xGroup->mpTopCell->aPos.Row(); if (xGroup->mnLength == 1) { |