diff options
author | Qt Continuous Integration System <qt-info@nokia.com> | 2010-01-08 10:17:52 (GMT) |
---|---|---|
committer | Qt Continuous Integration System <qt-info@nokia.com> | 2010-01-08 10:17:52 (GMT) |
commit | 4596db451cd2c53768e42b00a4234e7de2149f39 (patch) | |
tree | 4250d4ecda16797ecacedf8e6df6408fb27e7fa6 | |
parent | 118e7a807d0764dee97612589fe5d7072d271e1e (diff) | |
parent | 1484008e831a6b18272babb17992c4de686da045 (diff) | |
download | Qt-4596db451cd2c53768e42b00a4234e7de2149f39.zip Qt-4596db451cd2c53768e42b00a4234e7de2149f39.tar.gz Qt-4596db451cd2c53768e42b00a4234e7de2149f39.tar.bz2 |
Merge branch '4.6' of scm.dev.nokia.troll.no:qt/oslo-staging-2 into 4.6-integration
* '4.6' of scm.dev.nokia.troll.no:qt/oslo-staging-2:
Make sure the rect in QPixmap::copy() doesn't exceed the boundingRect.
Fix a painter warning
-rw-r--r-- | src/gui/image/qpixmap.cpp | 4 | ||||
-rw-r--r-- | src/gui/itemviews/qtreeview.cpp | 2 |
2 files changed, 5 insertions, 1 deletions
diff --git a/src/gui/image/qpixmap.cpp b/src/gui/image/qpixmap.cpp index 7e4597e..7b522f5 100644 --- a/src/gui/image/qpixmap.cpp +++ b/src/gui/image/qpixmap.cpp @@ -357,7 +357,9 @@ QPixmap QPixmap::copy(const QRect &rect) const if (isNull()) return QPixmap(); - const QRect r = rect.isEmpty() ? QRect(0, 0, width(), height()) : rect; + QRect r(0, 0, width(), height()); + if (!rect.isEmpty()) + r = r.intersected(rect); QPixmapData *d = data->createCompatiblePixmapData(); d->copy(data.data(), r); diff --git a/src/gui/itemviews/qtreeview.cpp b/src/gui/itemviews/qtreeview.cpp index bcf9cfb..bf88a75 100644 --- a/src/gui/itemviews/qtreeview.cpp +++ b/src/gui/itemviews/qtreeview.cpp @@ -3064,6 +3064,8 @@ QPixmap QTreeViewPrivate::renderTreeToPixmapForAnimation(const QRect &rect) cons { Q_Q(const QTreeView); QPixmap pixmap(rect.size()); + if (rect.size().isEmpty()) + return pixmap; pixmap.fill(Qt::transparent); //the base might not be opaque, and we don't want uninitialized pixels. QPainter painter(&pixmap); painter.fillRect(QRect(QPoint(0,0), rect.size()), q->palette().base()); |