summaryrefslogtreecommitdiffstats
path: root/src/gui/graphicsview/qgraphicstransform.cpp
diff options
context:
space:
mode:
authorRhys Weatherley <rhys.weatherley@nokia.com>2009-10-22 05:12:40 (GMT)
committerRhys Weatherley <rhys.weatherley@nokia.com>2009-10-22 05:12:40 (GMT)
commit100afe8da00fdb1661b22e049960ed00a1d3c765 (patch)
tree7055b6806c9d1ff5a38edee4e9f7b70babe76a0a /src/gui/graphicsview/qgraphicstransform.cpp
parente7955a49b59a8c2568d1dcabaf6e72aca8a26bb0 (diff)
downloadQt-100afe8da00fdb1661b22e049960ed00a1d3c765.zip
Qt-100afe8da00fdb1661b22e049960ed00a1d3c765.tar.gz
Qt-100afe8da00fdb1661b22e049960ed00a1d3c765.tar.bz2
Fix a bug in QGraphicsRotation related to 2D projections
The projection to 2D needs to be done when the rotation is applied, not after all transformations have been applied. Reviewed-by: trustme
Diffstat (limited to 'src/gui/graphicsview/qgraphicstransform.cpp')
-rw-r--r--src/gui/graphicsview/qgraphicstransform.cpp4
1 files changed, 3 insertions, 1 deletions
diff --git a/src/gui/graphicsview/qgraphicstransform.cpp b/src/gui/graphicsview/qgraphicstransform.cpp
index ec1a2f5..49d8999 100644
--- a/src/gui/graphicsview/qgraphicstransform.cpp
+++ b/src/gui/graphicsview/qgraphicstransform.cpp
@@ -547,7 +547,9 @@ void QGraphicsRotation::applyTo(QMatrix4x4 *matrix) const
return;
matrix->translate(d->origin);
- matrix->rotate(d->angle, d->axis.x(), d->axis.y(), d->axis.z());
+ QMatrix4x4 m;
+ m.rotate(d->angle, d->axis.x(), d->axis.y(), d->axis.z());
+ *matrix *= m.toTransform();
matrix->translate(-d->origin);
}