sc/source/core/tool/sharedformula.cxx | 16 ++++++++++++++-- 1 file changed, 14 insertions(+), 2 deletions(-)
New commits: commit d3a491fcc678bb4a490de79cb7474ef72cf6c35f Author: Eike Rathke <[email protected]> Date: Fri Jun 5 15:51:46 2015 +0200 tdf#90694 reset group area listeners when splitting group (cherry picked from commit 2f6a06856ad8df0c11a112d1e457b408e9a7af1d) tdf#90694 reset group area listeners on correct top Follow-up on 2f6a06856ad8df0c11a112d1e457b408e9a7af1d, rTop is top of created group, listening needs to be ended on original (previous) group. (cherry picked from commit 5d6448a5131488eac3a6af16bff06140663c3db4) 1f975a0a6c85e649aa07ce5c6e97bc6e917ff9ce Change-Id: Ib3e85e1f7e12447fc2998711663ea1e9d1b322e5 Reviewed-on: https://gerrit.libreoffice.org/16104 Reviewed-by: Caolán McNamara <[email protected]> Tested-by: Caolán McNamara <[email protected]> diff --git a/sc/source/core/tool/sharedformula.cxx b/sc/source/core/tool/sharedformula.cxx index b1cd80d..84025b9 100644 --- a/sc/source/core/tool/sharedformula.cxx +++ b/sc/source/core/tool/sharedformula.cxx @@ -55,12 +55,24 @@ void SharedFormulaUtil::splitFormulaCellGroup(const CellStoreType::position_type } xGroup->mnLength = nRow - xGroup->mpTopCell->aPos.Row(); + ScFormulaCell& rPrevTop = *sc::formula_block::at(*aPos.first->data, aPos.second - xGroup->mnLength); + +#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) + { + rPrevTop.EndListeningTo( rPrevTop.GetDocument(), NULL, ScAddress( ScAddress::UNINITIALIZED)); + rPrevTop.SetNeedsListening(true); + } +#endif + if (xGroup->mnLength == 1) { // The top group consists of only one cell. Ungroup this. ScFormulaCellGroupRef xNone; - ScFormulaCell& rPrev = *sc::formula_block::at(*aPos.first->data, aPos.second-1); - rPrev.SetCellGroup(xNone); + rPrevTop.SetCellGroup(xNone); } // Apply the lower group object to the lower cells.
_______________________________________________ Libreoffice-commits mailing list [email protected] http://lists.freedesktop.org/mailman/listinfo/libreoffice-commits
