diff options
author | Rhys Weatherley <rhys.weatherley@nokia.com> | 2009-10-22 15:12:40 +1000 |
---|---|---|
committer | Rhys Weatherley <rhys.weatherley@nokia.com> | 2009-10-22 15:12:40 +1000 |
commit | 100afe8da00fdb1661b22e049960ed00a1d3c765 (patch) | |
tree | 7055b6806c9d1ff5a38edee4e9f7b70babe76a0a /src/gui/graphicsview/qgraphicstransform.cpp | |
parent | e7955a49b59a8c2568d1dcabaf6e72aca8a26bb0 (diff) | |
download | qt4-tools-100afe8da00fdb1661b22e049960ed00a1d3c765.tar.gz |
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.cpp | 4 |
1 files changed, 3 insertions, 1 deletions
diff --git a/src/gui/graphicsview/qgraphicstransform.cpp b/src/gui/graphicsview/qgraphicstransform.cpp index ec1a2f5ff4..49d8999539 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); } |