From 470d87ac503debe3bead80628044d176479975eb Mon Sep 17 00:00:00 2001 From: Gunnar Sletta Date: Mon, 30 Mar 2009 15:21:59 +0200 Subject: Fixes: Make drawPixmap slightly more optimal for QPaintEngineEx RevBy: Samuel --- src/gui/painting/qpainter.cpp | 9 ++++++--- 1 file changed, 6 insertions(+), 3 deletions(-) diff --git a/src/gui/painting/qpainter.cpp b/src/gui/painting/qpainter.cpp index fe6cc69..b2f0ac4 100644 --- a/src/gui/painting/qpainter.cpp +++ b/src/gui/painting/qpainter.cpp @@ -5155,9 +5155,6 @@ void QPainter::drawPixmap(const QPointF &p, const QPixmap &pm) Q_D(QPainter); - if (!d->engine || pm.isNull()) - return; - #ifndef QT_NO_DEBUG qt_painter_thread_test(d->device->devType(), "drawPixmap()"); #endif @@ -5167,12 +5164,18 @@ void QPainter::drawPixmap(const QPointF &p, const QPixmap &pm) return; } + if (!d->engine) + return; + qreal x = p.x(); qreal y = p.y(); int w = pm.width(); int h = pm.height(); + if (w <= 0) + return; + // Emulate opaque background for bitmaps if (d->state->bgMode == Qt::OpaqueMode && pm.isQBitmap()) { fillRect(QRectF(x, y, w, h), d->state->bgBrush.color()); -- cgit v0.12