summaryrefslogtreecommitdiffstats
path: root/src
diff options
context:
space:
mode:
authorSamuel Rødal <sroedal@trolltech.com>2009-06-12 10:54:18 (GMT)
committerSamuel Rødal <sroedal@trolltech.com>2009-06-12 11:00:35 (GMT)
commit6a408b6c6d00a76c74a4d612d85996d7ad3f03ba (patch)
tree69897fe71e4260a0a0c16791e83a325cd67bc10f /src
parent426be37acb7b7fb0bbd58ff8ec18dac8ae650375 (diff)
downloadQt-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')
-rw-r--r--src/gui/painting/qtransform.cpp15
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) {