diff options
author | Tomaž Vajngerl <tomaz.vajngerl@collabora.co.uk> | 2017-12-21 20:08:33 +0900 |
---|---|---|
committer | Tomaž Vajngerl <quikee@gmail.com> | 2017-12-21 14:48:32 +0100 |
commit | b2c3233e5f267b5d244d722a94424a3b224b3314 (patch) | |
tree | 68bb18b33ee5068696473c3e7920882f55896882 /svx | |
parent | 2c6d6c113177e25b9ae1674c1e8de0b3c8ae1327 (diff) |
chart2: suspend/resume setting rects dirty for 3D shapes
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.
Change-Id: Ie4dec644102140edf282a2f5f6eb7fc9b81dbe48
Reviewed-on: https://gerrit.libreoffice.org/46901
Tested-by: Jenkins <ci@libreoffice.org>
Reviewed-by: Tomaž Vajngerl <quikee@gmail.com>
Diffstat (limited to 'svx')
-rw-r--r-- | svx/source/engine3d/scene3d.cxx | 9 |
1 files changed, 7 insertions, 2 deletions
diff --git a/svx/source/engine3d/scene3d.cxx b/svx/source/engine3d/scene3d.cxx index 1da5c1411150..1e3739005fa1 100644 --- a/svx/source/engine3d/scene3d.cxx +++ b/svx/source/engine3d/scene3d.cxx @@ -416,16 +416,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 ) |