From 87ff2c830d32bf26f8540689dd38fba59b18d688 Mon Sep 17 00:00:00 2001 From: Charles Yin Date: Mon, 16 Jul 2012 11:32:22 +1000 Subject: Don't join between 2 same points Joining 2 points with same x,y values causes assert in QTriangulatingStroker::normalVector(). Task-number: QTBUG-26528 Change-Id: I2494d7f362e13e41a82753f4bacf97ffbc249cf9 Reviewed-by: Kim M. Kalland --- src/gui/opengl/qtriangulatingstroker.cpp | 6 ++++-- 1 file changed, 4 insertions(+), 2 deletions(-) (limited to 'src') diff --git a/src/gui/opengl/qtriangulatingstroker.cpp b/src/gui/opengl/qtriangulatingstroker.cpp index 8c054290dc..652b9625f0 100644 --- a/src/gui/opengl/qtriangulatingstroker.cpp +++ b/src/gui/opengl/qtriangulatingstroker.cpp @@ -231,8 +231,10 @@ void QTriangulatingStroker::process(const QVectorPath &path, const QPen &pen, co || float(pts[0]) != float(pts[2]) || float(pts[1]) != float(pts[3]) || float(pts[2]) != float(pts[4]) || float(pts[3]) != float(pts[5])) { - if (previousType != QPainterPath::MoveToElement) - join(pts); + if (float(m_cx) != float(pts[0]) || float(m_cy) != float(pts[1])) { + if (previousType != QPainterPath::MoveToElement) + join(pts); + } cubicTo(pts); previousType = QPainterPath::CurveToElement; previousPts = pts + 4; -- cgit v1.2.3