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-15 23:49:07 +0200
commit80ec99db4325a439a8a3f1d420d0a80f8bf9c439 (patch)
tree4ca89fb65c3a7f71073820d5f01ee028cf023cb5
parent2a05cb81d363cce181d3e31967cea2cfff1bd06d (diff)
Resolves: tdf#91411 end listening only on selected sheets
... not in cell areas of all sheets. Change-Id: I8d19c15c6d8d89652ac5695214bc4dd930783087
-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 da6f2a98470b..90eb0fe7cd15 100644
--- a/sc/source/core/data/document.cxx
+++ b/sc/source/core/data/document.cxx
@@ -1796,12 +1796,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();
}