diff options
author | Samuel Rødal <sroedal@trolltech.com> | 2009-06-12 10:54:18 (GMT) |
---|---|---|
committer | Samuel Rødal <sroedal@trolltech.com> | 2009-06-12 11:00:35 (GMT) |
commit | 6a408b6c6d00a76c74a4d612d85996d7ad3f03ba (patch) | |
tree | 69897fe71e4260a0a0c16791e83a325cd67bc10f /src/gui | |
parent | 426be37acb7b7fb0bbd58ff8ec18dac8ae650375 (diff) | |
download | Qt-6a408b6c6d00a76c74a4d612d85996d7ad3f03ba.zip Qt-6a408b6c6d00a76c74a4d612d85996d7ad3f03ba.tar.gz Qt-6a408b6c6d00a76c74a4d612d85996d7ad3f03ba.tar.bz2 |
Fixed bug where QTransform::type() failed to compute the correct type.
Since QTransform::type() now uses a switch based on m_dirty, we can't
treat m_dirty as a bit mask anymore.
Reviewed-by: Ariya
Diffstat (limited to 'src/gui')
-rw-r--r-- | src/gui/painting/qtransform.cpp | 15 |
1 files changed, 10 insertions, 5 deletions
diff --git a/src/gui/painting/qtransform.cpp b/src/gui/painting/qtransform.cpp index c00012a..16d60f8 100644 --- a/src/gui/painting/qtransform.cpp +++ b/src/gui/painting/qtransform.cpp @@ -420,7 +420,8 @@ QTransform &QTransform::translate(qreal dx, qreal dy) affine._dy += dy*affine._m22 + dx*affine._m12; break; } - m_dirty |= TxTranslate; + if (m_dirty < TxTranslate) + m_dirty = TxTranslate; return *this; } @@ -472,7 +473,8 @@ QTransform & QTransform::scale(qreal sx, qreal sy) affine._m22 *= sy; break; } - m_dirty |= TxScale; + if (m_dirty < TxScale) + m_dirty = TxScale; return *this; } @@ -529,7 +531,8 @@ QTransform & QTransform::shear(qreal sh, qreal sv) break; } } - m_dirty |= TxShear; + if (m_dirty < TxShear) + m_dirty = TxShear; return *this; } @@ -605,7 +608,8 @@ QTransform & QTransform::rotate(qreal a, Qt::Axis axis) break; } } - m_dirty |= TxRotate; + if (m_dirty < TxRotate) + m_dirty = TxRotate; } else { QTransform result; if (axis == Qt::YAxis) { @@ -677,7 +681,8 @@ QTransform & QTransform::rotateRadians(qreal a, Qt::Axis axis) break; } } - m_dirty |= TxRotate; + if (m_dirty < TxRotate) + m_dirty = TxRotate; } else { QTransform result; if (axis == Qt::YAxis) { |