summaryrefslogtreecommitdiff
path: root/sc
diff options
context:
space:
mode:
authorNoel Grandin <noel.grandin@collabora.co.uk>2019-08-20 14:40:59 +0200
committerNoel Grandin <noel.grandin@collabora.co.uk>2019-08-20 18:37:21 +0200
commit80d8fda9c092ea77869c7c162d0acac854a0738d (patch)
treed8edf8f856df418446e201b85489df56b5b592e0 /sc
parent98f41c22b85e76fb8354a4b9df57f4211824e95e (diff)
tdf#119388 don't broadcast when locked
takes the delete time for a column from 41s to 21s Change-Id: I11f438dd3ed0787309b150a0cb3dde6447f07e5b Reviewed-on: https://gerrit.libreoffice.org/77825 Tested-by: Jenkins Reviewed-by: Noel Grandin <noel.grandin@collabora.co.uk>
Diffstat (limited to 'sc')
-rw-r--r--sc/source/core/data/drwlayer.cxx6
1 files changed, 4 insertions, 2 deletions
diff --git a/sc/source/core/data/drwlayer.cxx b/sc/source/core/data/drwlayer.cxx
index a402fb3b32fc..0f9214eb78a4 100644
--- a/sc/source/core/data/drwlayer.cxx
+++ b/sc/source/core/data/drwlayer.cxx
@@ -937,6 +937,7 @@ void ScDrawLayer::RecalcPos( SdrObject* pObj, ScDrawObjData& rData, bool bNegati
else
{
// Prevent multiple broadcasts during the series of changes.
+ bool bWasLocked = pObj->getSdrModelFromSdrObject().isLocked();
pObj->getSdrModelFromSdrObject().setLock(true);
bool bCanResize = bValid2 && !pObj->IsResizeProtect() && rData.mbResizeWithCell;
@@ -1068,8 +1069,9 @@ void ScDrawLayer::RecalcPos( SdrObject* pObj, ScDrawObjData& rData, bool bNegati
}
// End prevent multiple broadcasts during the series of changes.
- pObj->getSdrModelFromSdrObject().setLock(false);
- pObj->BroadcastObjectChange();
+ pObj->getSdrModelFromSdrObject().setLock(bWasLocked);
+ if (!bWasLocked)
+ pObj->BroadcastObjectChange();
}
}