summaryrefslogtreecommitdiff
path: root/sc
diff options
context:
space:
mode:
authorEike Rathke <erack@redhat.com>2016-10-19 23:28:21 +0200
committerEike Rathke <erack@redhat.com>2016-10-19 23:28:31 +0200
commit5f01b29876da20299326b466d9596c4121ed2dec (patch)
treeaaa66ea361658460cd7cbcdd2a7d7abfd6753d68 /sc
parentdfa92e106f7eaa8c3fc6cda034001197ecc53a8f (diff)
sc-perf: StartAllListeners: bail out early in cliboard or undo document
... and do not attempt to execute the overhead for all columns in the range just to do nothing. Change-Id: I88d26895cf641e8c71d7ccdf5534de8008070e61
Diffstat (limited to 'sc')
-rw-r--r--sc/source/core/data/document10.cxx3
1 files changed, 3 insertions, 0 deletions
diff --git a/sc/source/core/data/document10.cxx b/sc/source/core/data/document10.cxx
index 4d59838fa8ae..896499995388 100644
--- a/sc/source/core/data/document10.cxx
+++ b/sc/source/core/data/document10.cxx
@@ -469,6 +469,9 @@ void ScDocument::StartNeededListeners( const std::shared_ptr<const sc::ColumnSet
void ScDocument::StartAllListeners( const ScRange& rRange )
{
+ if (IsClipOrUndo() || GetNoListening())
+ return;
+
std::shared_ptr<sc::ColumnBlockPositionSet> pPosSet(new sc::ColumnBlockPositionSet(*this));
sc::StartListeningContext aStartCxt(*this, pPosSet);
sc::EndListeningContext aEndCxt(*this, pPosSet);