Fix precisions check for using fast transforms

The coordinates need to be representable in signed 16-bit not unsigned.

Task-number: QTBUG-62251
Change-Id: I1d4aaa2fb90b8f428380277d5b4e416a4672ee6a
Reviewed-by: Eirik Aavitsland <eirik.aavitsland@qt.io>
This commit is contained in:
Allan Sandfeld Jensen 2017-08-02 11:35:25 +02:00
parent 0a5f71c606
commit f8df9bb277

View File

@ -2339,8 +2339,8 @@ void QRasterPaintEngine::drawImage(const QRectF &r, const QImage &img, const QRe
if (s->matrix.type() > QTransform::TxTranslate || stretch_sr) {
QRectF targetBounds = s->matrix.mapRect(r);
bool exceedsPrecision = targetBounds.width() > 0xffff
|| targetBounds.height() > 0xffff;
bool exceedsPrecision = targetBounds.width() > 0x7fff
|| targetBounds.height() > 0x7fff;
if (!exceedsPrecision && d->canUseFastImageBlending(d->rasterBuffer->compositionMode, img)) {
if (s->matrix.type() > QTransform::TxScale) {