From 59719558e174ee06d85f882d488e23dfb312cc33 Mon Sep 17 00:00:00 2001 From: Ramamurthy KV Date: Wed, 25 Jan 2012 21:56:29 +0530 Subject: QDirectFBPaintEngine::fill crashes if QVectorPath elements is NULL MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Checking for elements to not NULL. If the shape is QVectorPath::RectangleHint calling fillRect and not falling to RASTERCALLBACK. QTBUG #23850 Change-Id: I402da6074a1c7a9b1d026efe5d1b068e4aea8805 Reviewed-by: Jørgen Lind --- src/plugins/gfxdrivers/directfb/qdirectfbpaintengine.cpp | 6 ++++-- 1 file changed, 4 insertions(+), 2 deletions(-) diff --git a/src/plugins/gfxdrivers/directfb/qdirectfbpaintengine.cpp b/src/plugins/gfxdrivers/directfb/qdirectfbpaintengine.cpp index 91bda47..2af6f3d 100644 --- a/src/plugins/gfxdrivers/directfb/qdirectfbpaintengine.cpp +++ b/src/plugins/gfxdrivers/directfb/qdirectfbpaintengine.cpp @@ -829,11 +829,13 @@ void QDirectFBPaintEngine::fill(const QVectorPath &path, const QBrush &brush) const qreal *points = path.points(); if (path.elementCount() == 5) { - if (elements[0] == QPainterPath::MoveToElement + if ((elements + && elements[0] == QPainterPath::MoveToElement && elements[1] == QPainterPath::LineToElement && elements[2] == QPainterPath::LineToElement && elements[3] == QPainterPath::LineToElement - && elements[4] == QPainterPath::LineToElement) { + && elements[4] == QPainterPath::LineToElement ) + || (path.shape() == QVectorPath::RectangleHint)) { if (points[1] == points[3] && points[2] == points[4] -- cgit v0.12