sc/source/core/data/drwlayer.cxx | 4 ++++ 1 file changed, 4 insertions(+)
New commits: commit 3d4aec8c32bf7b95657c40485f093c8e4a36b77c Author: Eike Rathke <er...@redhat.com> Date: Fri Dec 16 00:18:52 2016 +0100 Resolves: tdf#103543 disable mass broadcasts from drawing objects' changes Specifically the a11y listeners are nasty bottle necks. A11y will get updated on paint/view. We're touching all objects on that drawing page to reposition so interdependencies that need to be broadcasted should not happen. Change-Id: Ic80446e22422a3097281ba20eecf0a078ac6a7cb (cherry picked from commit 6a334757082be4915e7e731ce4c1b0bd4641050d) Reviewed-on: https://gerrit.libreoffice.org/32064 Reviewed-by: Eike Rathke <er...@redhat.com> Tested-by: Jenkins <c...@libreoffice.org> diff --git a/sc/source/core/data/drwlayer.cxx b/sc/source/core/data/drwlayer.cxx index f2e93dd..d7a51a2 100644 --- a/sc/source/core/data/drwlayer.cxx +++ b/sc/source/core/data/drwlayer.cxx @@ -587,6 +587,9 @@ void ScDrawLayer::SetPageSize( sal_uInt16 nPageNo, const Size& rSize, bool bUpda bool bNegativePage = pDoc && pDoc->IsNegativePage( static_cast<SCTAB>(nPageNo) ); + // Disable mass broadcasts from drawing objects' position changes. + bool bWasLocked = isLocked(); + setLock(true); const size_t nCount = pPage->GetObjCount(); for ( size_t i = 0; i < nCount; ++i ) { @@ -595,6 +598,7 @@ void ScDrawLayer::SetPageSize( sal_uInt16 nPageNo, const Size& rSize, bool bUpda if( pData ) RecalcPos( pObj, *pData, bNegativePage, bUpdateNoteCaptionPos ); } + setLock(bWasLocked); } } _______________________________________________ Libreoffice-commits mailing list libreoffice-comm...@lists.freedesktop.org https://lists.freedesktop.org/mailman/listinfo/libreoffice-commits