From 394e869234cb27d5526716f7d9a9c1e491735a41 Mon Sep 17 00:00:00 2001 From: Tomaž Vajngerl Date: Thu, 21 Dec 2017 20:08:33 +0900 Subject: chart2: suspend/resume setting rects dirty for 3D shapes MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Previously we bypassed setting rects as dirty for a scene just before we are about to create a 3D object. With this change we do it earlier and suspend for the whole time we are creating the scene - so we guarantee to o it for all 3D objects in that code path. Aferwards we resume with setting rects and mark the whole scene as dirty so we don't miss some update. Reviewed-on: https://gerrit.libreoffice.org/46901 Tested-by: Jenkins Reviewed-by: Tomaž Vajngerl (cherry picked from commit b2c3233e5f267b5d244d722a94424a3b224b3314) Change-Id: Ie4dec644102140edf282a2f5f6eb7fc9b81dbe48 Reviewed-on: https://gerrit.libreoffice.org/46919 Reviewed-by: Thorsten Behrens Tested-by: Thorsten Behrens --- svx/source/engine3d/scene3d.cxx | 9 +++++++-- 1 file changed, 7 insertions(+), 2 deletions(-) (limited to 'svx') diff --git a/svx/source/engine3d/scene3d.cxx b/svx/source/engine3d/scene3d.cxx index 6c75e459bc8d..55b39b62aab5 100644 --- a/svx/source/engine3d/scene3d.cxx +++ b/svx/source/engine3d/scene3d.cxx @@ -438,16 +438,21 @@ E3dScene* E3dScene::Clone() const return CloneHelper< E3dScene >(); } -void E3dScene::EnterObjectSetupMode() +void E3dScene::SuspendReportingDirtyRects() { GetScene()->mbSkipSettingDirty = true; } -void E3dScene::ExitObjectSetupMode() +void E3dScene::ResumeReportingDirtyRects() { GetScene()->mbSkipSettingDirty = false; } +void E3dScene::SetAllSceneRectsDirty() +{ + GetScene()->SetRectsDirty(); +} + E3dScene& E3dScene::operator=(const E3dScene& rObj) { if( this == &rObj ) -- cgit