Kaydet (Commit) 164419bf authored tarafından Eike Rathke's avatar Eike Rathke

fix the "group not recalculated after delete" second part of tdf#97897

If a formula cell group was split during deletion and the group also
listened into the range where a cell was deleted, the group wasn't
notified of the deletion.

Change-Id: I858f5d4c0b647636611133fc32f3df7fbdaf7288
üst 68b6cbd7
......@@ -1832,6 +1832,24 @@ void ScDocument::DeleteArea(
// Re-start listeners on those top bottom groups that have been split.
SetNeedsListeningGroups(aGroupPos);
StartNeededListeners();
// If formula groups were split their listeners were destroyed and may
// need to be notified now that they're restored, ScTable::DeleteArea()
// couldn't do that.
if (!aGroupPos.empty())
{
ScRange aRange(nCol1, nRow1, 0, nCol2, nRow2, 0);
for (SCTAB i = 0; i < static_cast<SCTAB>(maTabs.size()); i++)
{
if (rMark.GetTableSelect(i))
{
aRange.aStart.SetTab(i);
aRange.aEnd.SetTab(i);
SetDirty( aRange, true);
}
}
}
}
}
......
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment