From 39be6d68b7b88a4da77d9390e3586eed4aaa0a72 2014-11-26 08:49:21 From: Titta Heikkala Date: 2014-11-26 08:49:21 Subject: [PATCH] Fix QLogValueAxis update The LogValueAxis can't have an empty layout or else it won't update the series correctly when the ticks are not visible on axis and the chart is resized. Change-Id: I7ff76cc1255044dbe69065f23f4cd0cca305d9df Task-number: QTRD-3431 Reviewed-by: Miikka Heikkinen --- diff --git a/src/charts/axis/logvalueaxis/chartlogvalueaxisx.cpp b/src/charts/axis/logvalueaxis/chartlogvalueaxisx.cpp index fe11815..33d1213 100644 --- a/src/charts/axis/logvalueaxis/chartlogvalueaxisx.cpp +++ b/src/charts/axis/logvalueaxis/chartlogvalueaxisx.cpp @@ -48,10 +48,10 @@ QVector ChartLogValueAxisX::calculateLayout() const qreal ceilEdge = ceil(leftEdge); int tickCount = qAbs(ceil(logMax) - ceil(logMin)); - points.resize(tickCount); + points.resize(tickCount + 1); const QRectF &gridRect = gridGeometry(); const qreal deltaX = gridRect.width() / qAbs(logMax - logMin); - for (int i = 0; i < tickCount; ++i) + for (int i = 0; i <= tickCount; ++i) points[i] = (ceilEdge + qreal(i)) * deltaX - leftEdge * deltaX + gridRect.left(); return points; diff --git a/src/charts/axis/logvalueaxis/chartlogvalueaxisy.cpp b/src/charts/axis/logvalueaxis/chartlogvalueaxisy.cpp index 7269d5f..341dee8 100644 --- a/src/charts/axis/logvalueaxis/chartlogvalueaxisy.cpp +++ b/src/charts/axis/logvalueaxis/chartlogvalueaxisy.cpp @@ -47,10 +47,10 @@ QVector ChartLogValueAxisY::calculateLayout() const qreal ceilEdge = ceil(leftEdge); int tickCount = qAbs(ceil(logMax) - ceil(logMin)); - points.resize(tickCount); + points.resize(tickCount + 1); const QRectF &gridRect = gridGeometry(); const qreal deltaY = gridRect.height() / qAbs(logMax - logMin); - for (int i = 0; i < tickCount; ++i) + for (int i = 0; i <= tickCount; ++i) points[i] = (ceilEdge + qreal(i)) * -deltaY - leftEdge * -deltaY + gridRect.bottom(); return points;