summaryrefslogtreecommitdiffstats
path: root/src
diff options
context:
space:
mode:
authorCharles Yin <charles.yin@nokia.com>2012-07-16 11:32:22 +1000
committerQt by Nokia <qt-info@nokia.com>2012-07-17 01:54:32 +0200
commit87ff2c830d32bf26f8540689dd38fba59b18d688 (patch)
tree4adfd17484ee574a590330510ef2cde82e4cb58a /src
parentb8b79a0f37ec74fd5b4ad829e522a384ba3622ae (diff)
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 <kim.kalland@nokia.com>
Diffstat (limited to 'src')
-rw-r--r--src/gui/opengl/qtriangulatingstroker.cpp6
1 files changed, 4 insertions, 2 deletions
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;