diff options
Diffstat (limited to 'src/charts/linechart/linechartitem.cpp')
-rw-r--r-- | src/charts/linechart/linechartitem.cpp | 12 |
1 files changed, 8 insertions, 4 deletions
diff --git a/src/charts/linechart/linechartitem.cpp b/src/charts/linechart/linechartitem.cpp index b96d263a..99e16d29 100644 --- a/src/charts/linechart/linechartitem.cpp +++ b/src/charts/linechart/linechartitem.cpp @@ -354,12 +354,18 @@ void LineChartItem::handleUpdated() m_pointLabelsVisible = m_series->pointLabelsVisible(); m_pointLabelsFont = m_series->pointLabelsFont(); m_pointLabelsColor = m_series->pointLabelsColor(); + bool labelClippingChanged = m_pointLabelsClipping != m_series->pointLabelsClipping(); m_pointLabelsClipping = m_series->pointLabelsClipping(); if (doGeometryUpdate) updateGeometry(); else if (m_series->useOpenGL() && visibleChanged) refreshGlChart(); - update(); + + // Update whole chart in case label clipping changed as labels can be outside series area + if (labelClippingChanged) + m_series->chart()->update(); + else + update(); } void LineChartItem::paint(QPainter *painter, const QStyleOptionGraphicsItem *option, QWidget *widget) @@ -406,9 +412,7 @@ void LineChartItem::paint(QPainter *painter, const QStyleOptionGraphicsItem *opt painter->drawPath(m_linePath); } else { painter->setBrush(QBrush(Qt::NoBrush)); - if (m_linePen.style() != Qt::SolidLine - || painter->renderHints().testFlag(QPainter::Antialiasing) - || alwaysUsePath) { + if (m_linePen.style() != Qt::SolidLine || alwaysUsePath) { // If pen style is not solid line, always fall back to path painting // to ensure proper continuity of the pattern painter->drawPath(m_linePath); |