summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorEike Rathke <erack@redhat.com>2015-06-05 15:51:46 +0200
committerEike Rathke <erack@redhat.com>2015-06-05 17:01:24 +0200
commit4d8acde1b820c2548839b1632bc28f2988001941 (patch)
treeb99678b87505c8cfd3799dca033445a14693acb7
parent6da08dcfcf9335b19ab31db732688c5665544eb5 (diff)
tdf#90694 reset group area listeners when splitting group
Change-Id: Ib3e85e1f7e12447fc2998711663ea1e9d1b322e5 (cherry picked from commit 2f6a06856ad8df0c11a112d1e457b408e9a7af1d)
-rw-r--r--sc/source/core/tool/sharedformula.cxx11
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)
{