From 4dae82608139f256372efc85cc44f03a18a7da4b 2013-03-22 11:07:42 From: Miikka Heikkinen Date: 2013-03-22 11:07:42 Subject: [PATCH] Fixed pen style pattern continuity for line series Reviewed-by: Mika Salmela --- diff --git a/src/linechart/linechartitem.cpp b/src/linechart/linechartitem.cpp index 8b10d87..1f10d53 100644 --- a/src/linechart/linechartitem.cpp +++ b/src/linechart/linechartitem.cpp @@ -123,15 +123,23 @@ void LineChartItem::paint(QPainter *painter, const QStyleOptionGraphicsItem *opt painter->save(); painter->setPen(m_linePen); - painter->setBrush(m_linePen.color()); painter->setClipRect(QRectF(QPointF(0,0),domain()->size())); if (m_pointsVisible) { + painter->setBrush(m_linePen.color()); painter->drawPath(m_linePath); } else { - for (int i(1); i < m_points.size(); i++) - painter->drawLine(m_points.at(i - 1), m_points.at(i)); + painter->setBrush(QBrush(Qt::NoBrush)); + if (m_linePen.style() != Qt::SolidLine) { + // If pen style is not solid line, always fall back to path painting + // to ensure proper continuity of the pattern + painter->drawPath(m_linePath); + } else { + for (int i(1); i < m_points.size(); i++) + painter->drawLine(m_points.at(i - 1), m_points.at(i)); + } } + painter->restore(); }