diff options
author | Rüdiger Timm <rt@openoffice.org> | 2008-07-02 11:06:03 +0000 |
---|---|---|
committer | Rüdiger Timm <rt@openoffice.org> | 2008-07-02 11:06:03 +0000 |
commit | 80ba954f9b741976c5e5fb1e5f18b2961746882a (patch) | |
tree | 8386be4fc4dde967c04878499b2e7d87d06d750b /svx/source/engine3d | |
parent | 6b7567443e40b78edee94457c23e3782294255f5 (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.cxx | 15 |
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); |