summaryrefslogtreecommitdiffstats
path: root/src/charts/linechart/linechartitem.cpp
diff options
context:
space:
mode:
Diffstat (limited to 'src/charts/linechart/linechartitem.cpp')
-rw-r--r--src/charts/linechart/linechartitem.cpp12
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);