diff options
author | Thiago Macieira <thiago.macieira@nokia.com> | 2009-08-31 10:06:52 (GMT) |
---|---|---|
committer | Thiago Macieira <thiago.macieira@nokia.com> | 2009-08-31 10:06:52 (GMT) |
commit | ae88ef4063548816efd4371920deeb4d87ea98f4 (patch) | |
tree | b820fbd5840c074325f328b6fa5332b6603316cc /src | |
parent | 2991e45683d02660294f34d074ef3366d0f62a73 (diff) | |
parent | f2dbfdccfab0648cf353ef56ced269468984840c (diff) | |
download | Qt-ae88ef4063548816efd4371920deeb4d87ea98f4.zip Qt-ae88ef4063548816efd4371920deeb4d87ea98f4.tar.gz Qt-ae88ef4063548816efd4371920deeb4d87ea98f4.tar.bz2 |
Merge branch '4.6' of git:qt/qt into 4.6
Diffstat (limited to 'src')
-rw-r--r-- | src/svg/qsvggraphics.cpp | 9 | ||||
-rw-r--r-- | src/svg/qsvggraphics_p.h | 2 |
2 files changed, 7 insertions, 4 deletions
diff --git a/src/svg/qsvggraphics.cpp b/src/svg/qsvggraphics.cpp index 7740c8d..7577859 100644 --- a/src/svg/qsvggraphics.cpp +++ b/src/svg/qsvggraphics.cpp @@ -193,8 +193,6 @@ void QSvgLine::draw(QPainter *p, QSvgExtraStates &states) QSvgPath::QSvgPath(QSvgNode *parent, const QPainterPath &qpath) : QSvgNode(parent), m_path(qpath) { - //m_cachedBounds = m_path.controlPointRect(); - m_cachedBounds = m_path.boundingRect(); } void QSvgPath::draw(QPainter *p, QSvgExtraStates &states) @@ -208,8 +206,13 @@ void QSvgPath::draw(QPainter *p, QSvgExtraStates &states) QRectF QSvgPath::bounds() const { qreal sw = strokeWidth(); - if (qFuzzyIsNull(sw)) + if (qFuzzyIsNull(sw)) { + if (m_cachedBounds.isNull()) + //m_cachedBounds = m_path.controlPointRect(); + m_cachedBounds = m_path.boundingRect(); + return m_cachedBounds; + } else { return boundsOnStroke(m_path, sw); } diff --git a/src/svg/qsvggraphics_p.h b/src/svg/qsvggraphics_p.h index 584a1a1..67232e5 100644 --- a/src/svg/qsvggraphics_p.h +++ b/src/svg/qsvggraphics_p.h @@ -145,7 +145,7 @@ public: } private: QPainterPath m_path; - QRectF m_cachedBounds; + mutable QRectF m_cachedBounds; }; class QSvgPolygon : public QSvgNode |