summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorEike Rathke <erack@redhat.com>2015-06-15 23:45:28 +0200
committerEike Rathke <erack@redhat.com>2015-06-16 00:43:48 +0200
commitce38023a48bf4e14a18fe964ca7ebb50a3ef597c (patch)
tree0b54f1b1a10553e741a37666932fd67c1cbab301
parent6e2eec6b33d9b79e97971625fb98134dfb2d0dd7 (diff)
Resolves: tdf#91411 end listening only on selected sheets
... not in cell areas of all sheets. Change-Id: I8d19c15c6d8d89652ac5695214bc4dd930783087 (cherry picked from commit 80ec99db4325a439a8a3f1d420d0a80f8bf9c439)
-rw-r--r--sc/source/core/data/document.cxx11
1 files changed, 7 insertions, 4 deletions
diff --git a/sc/source/core/data/document.cxx b/sc/source/core/data/document.cxx
index 57a8393e232b..14ab9ac6f121 100644
--- a/sc/source/core/data/document.cxx
+++ b/sc/source/core/data/document.cxx
@@ -1795,12 +1795,15 @@ void ScDocument::DeleteArea(
// the area borders.
sc::EndListeningContext aCxt(*this);
ScRange aRange(nCol1, nRow1, 0, nCol2, nRow2, 0);
- for (size_t i = 0; i < maTabs.size(); ++i)
+ for (SCTAB i = 0; i < static_cast<SCTAB>(maTabs.size()); i++)
{
- aRange.aStart.SetTab(i);
- aRange.aEnd.SetTab(i);
+ if (rMark.GetTableSelect(i))
+ {
+ aRange.aStart.SetTab(i);
+ aRange.aEnd.SetTab(i);
- EndListeningIntersectedGroups(aCxt, aRange, &aGroupPos);
+ EndListeningIntersectedGroups(aCxt, aRange, &aGroupPos);
+ }
}
aCxt.purgeEmptyBroadcasters();
}