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>
diff --git a/sc/source/core/data/drwlayer.cxx b/sc/source/core/data/drwlayer.cxx
index a402fb3..0f9214e 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();
}
}