--- qt-everywhere-commercial-src-4.6.3/src/gui/painting/qblendfunctions.cpp 2010-06-02 04:00:19.000000000 +0200 +++ qt-everywhere-commercial-src-4.6.3.patched/src/gui/painting/qblendfunctions.cpp 2010-06-14 12:29:25.092584200 +0200 @@ -44,6 +44,8 @@ QT_BEGIN_NAMESPACE +static const qreal aliasedCoordinateDelta = 0.5 - 0.015625; + struct SourceOnlyAlpha { inline uchar alpha(uchar src) const { return src; } @@ -169,11 +171,14 @@ template void qt_scale_image_16bit(uchar *destPixels, int dbpl, const uchar *srcPixels, int sbpl, - const QRectF &targetRect, + const QRectF &target, const QRectF &srcRect, const QRect &clip, T blender) { + const QRectF targetRect = target.translated(aliasedCoordinateDelta, + aliasedCoordinateDelta); + qreal sx = targetRect.width() / (qreal) srcRect.width(); qreal sy = targetRect.height() / (qreal) srcRect.height(); @@ -682,11 +687,14 @@ template void qt_scale_image_32bit(uchar *destPixels, int dbpl, const uchar *srcPixels, int sbpl, - const QRectF &targetRect, + const QRectF &target, const QRectF &srcRect, const QRect &clip, T blender) { + const QRectF targetRect = target.translated(aliasedCoordinateDelta, + aliasedCoordinateDelta); + qreal sx = targetRect.width() / (qreal) srcRect.width(); qreal sy = targetRect.height() / (qreal) srcRect.height();