diff options
author | Qt Continuous Integration System <qt-info@nokia.com> | 2010-03-22 12:46:15 (GMT) |
---|---|---|
committer | Qt Continuous Integration System <qt-info@nokia.com> | 2010-03-22 12:46:15 (GMT) |
commit | 58e9855afce71448c709469270950e5add87d601 (patch) | |
tree | ac23ab7b1df58bc3e4aa9734dfc5357c38cc13cd /src/gui/painting | |
parent | da7c6cc8995f063435b25938ac10739a6e7f0067 (diff) | |
parent | 0d2f6432e7400dac20c71a01806cd787e5940eb2 (diff) | |
download | Qt-58e9855afce71448c709469270950e5add87d601.zip Qt-58e9855afce71448c709469270950e5add87d601.tar.gz Qt-58e9855afce71448c709469270950e5add87d601.tar.bz2 |
Merge branch '4.7' of scm.dev.nokia.troll.no:qt/oslo-staging-2 into 4.7-integration
* '4.7' of scm.dev.nokia.troll.no:qt/oslo-staging-2:
Fixed performance issues when falling back to raster for sub-pixmaps.
Dragging headers in item views done right
Diffstat (limited to 'src/gui/painting')
-rw-r--r-- | src/gui/painting/qpainter.cpp | 9 |
1 files changed, 7 insertions, 2 deletions
diff --git a/src/gui/painting/qpainter.cpp b/src/gui/painting/qpainter.cpp index a1ed8f5..db4ace4 100644 --- a/src/gui/painting/qpainter.cpp +++ b/src/gui/painting/qpainter.cpp @@ -5414,10 +5414,15 @@ void QPainter::drawPixmap(const QRectF &r, const QPixmap &pm, const QRectF &sr) scale(w / sw, h / sh); setBackgroundMode(Qt::TransparentMode); setRenderHint(Antialiasing, renderHints() & SmoothPixmapTransform); - QBrush brush(d->state->pen.color(), pm); + QBrush brush; + + if (sw == pm.width() && sh == pm.height()) + brush = QBrush(d->state->pen.color(), pm); + else + brush = QBrush(d->state->pen.color(), pm.copy(sx, sy, sw, sh)); + setBrush(brush); setPen(Qt::NoPen); - setBrushOrigin(QPointF(-sx, -sy)); drawRect(QRectF(0, 0, sw, sh)); restore(); |