summaryrefslogtreecommitdiff
path: root/svx/source/engine3d
diff options
context:
space:
mode:
authorArmin Le Grand <alg@apache.org>2014-02-18 21:18:13 +0000
committerCaolán McNamara <caolanm@redhat.com>2014-02-19 20:29:12 +0000
commitdb1d2af02861b49e4f53d726d59cd71c20cee9b1 (patch)
treea4edfc1235314f5e3d03c45a52863a052ad19286 /svx/source/engine3d
parent2237604b6b1d08439ac37f096a787c449a046b5f (diff)
Resolves: #i123539# some optimizations for 3D chart...
geometry creation using UNO API (cherry picked from commit bbe35be767d76d08891c4f3d3600d80e0e6805f2) Change-Id: Ic9b6ab8fc31cfe585f7c75d85bafe4613910c57a
Diffstat (limited to 'svx/source/engine3d')
-rw-r--r--svx/source/engine3d/scene3d.cxx10
1 files changed, 9 insertions, 1 deletions
diff --git a/svx/source/engine3d/scene3d.cxx b/svx/source/engine3d/scene3d.cxx
index 8c77c791208b..338d0ade7dbf 100644
--- a/svx/source/engine3d/scene3d.cxx
+++ b/svx/source/engine3d/scene3d.cxx
@@ -45,6 +45,7 @@
#include <drawinglayer/geometry/viewinformation3d.hxx>
#include <basegfx/polygon/b2dpolypolygontools.hxx>
#include <svx/e3dsceneupdater.hxx>
+#include <svx/svdmodel.hxx>
//////////////////////////////////////////////////////////////////////////////
@@ -379,7 +380,14 @@ void E3dScene::NewObjectInserted(const E3dObject* p3DObj)
void E3dScene::StructureChanged()
{
E3dObject::StructureChanged();
- SetRectsDirty();
+
+ if(!GetModel() || !GetModel()->isLocked())
+ {
+ // #i123539# optimization for 3D chart object generation: do not reset
+ // already calculated scene projection data every time an object gets
+ // initialized
+ SetRectsDirty();
+ }
ImpCleanup3DDepthMapper();
}