diff options
author | Charles Yin <charles.yin@nokia.com> | 2012-07-16 11:32:22 +1000 |
---|---|---|
committer | Qt by Nokia <qt-info@nokia.com> | 2012-07-17 01:54:32 +0200 |
commit | 87ff2c830d32bf26f8540689dd38fba59b18d688 (patch) | |
tree | 4adfd17484ee574a590330510ef2cde82e4cb58a /src | |
parent | b8b79a0f37ec74fd5b4ad829e522a384ba3622ae (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.cpp | 6 |
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; |