diff options
author | Noel Grandin <noel.grandin@collabora.co.uk> | 2019-08-20 14:40:59 +0200 |
---|---|---|
committer | Noel Grandin <noel.grandin@collabora.co.uk> | 2019-08-20 18:37:21 +0200 |
commit | 80d8fda9c092ea77869c7c162d0acac854a0738d (patch) | |
tree | d8edf8f856df418446e201b85489df56b5b592e0 /sc | |
parent | 98f41c22b85e76fb8354a4b9df57f4211824e95e (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.cxx | 6 |
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(); } } |