summaryrefslogtreecommitdiff
path: root/svx/source/engine3d
diff options
context:
space:
mode:
authorRüdiger Timm <rt@openoffice.org>2008-07-02 11:06:03 +0000
committerRüdiger Timm <rt@openoffice.org>2008-07-02 11:06:03 +0000
commit80ba954f9b741976c5e5fb1e5f18b2961746882a (patch)
tree8386be4fc4dde967c04878499b2e7d87d06d750b /svx/source/engine3d
parent6b7567443e40b78edee94457c23e3782294255f5 (diff)
INTEGRATION: CWS impress145 (1.32.108); FILE MERGED
2008/06/18 11:54:18 aw 1.32.108.1: #i85887# need to invalidate BoundSnapRects when 3D Scenes volume changes
Diffstat (limited to 'svx/source/engine3d')
-rw-r--r--svx/source/engine3d/scene3d.cxx15
1 files changed, 14 insertions, 1 deletions
diff --git a/svx/source/engine3d/scene3d.cxx b/svx/source/engine3d/scene3d.cxx
index 3c6af95f3c81..6e2174856c43 100644
--- a/svx/source/engine3d/scene3d.cxx
+++ b/svx/source/engine3d/scene3d.cxx
@@ -7,7 +7,7 @@
* OpenOffice.org - a multi-platform office productivity suite
*
* $RCSfile: scene3d.cxx,v $
- * $Revision: 1.32 $
+ * $Revision: 1.33 $
*
* This file is part of OpenOffice.org.
*
@@ -825,6 +825,19 @@ void E3dScene::InitTransformationSet()
// 3D Ausgabe vorbereiten, Maximas holen in DeviceKoordinaten
basegfx::B3DRange aVolume(FitInSnapRect());
+ // #i85887#
+ static basegfx::B3DRange aLastVolume;
+ if(aVolume != aLastVolume)
+ {
+ // The BoundRects for the contained 3D SdrObjects depend on the
+ // calculated BoundVolume. If the BoundVolume changes, those rects
+ // need to be invalidated. Since the first inits when importing a ODF
+ // work with wrong 3D Volumes, the initially calculated BoundRects
+ // tend to be wrong and need to be invalidated on 3D Volume change.
+ SetRectsDirty();
+ aLastVolume = aVolume;
+ }
+
// Maximas fuer Abbildung verwenden
rSet.SetDeviceVolume(aVolume, FALSE);
rSet.SetViewportRectangle(aBound);