diff options
Diffstat (limited to 'src/charts/domain/logxydomain.cpp')
-rw-r--r-- | src/charts/domain/logxydomain.cpp | 10 |
1 files changed, 8 insertions, 2 deletions
diff --git a/src/charts/domain/logxydomain.cpp b/src/charts/domain/logxydomain.cpp index fb77656c..aedfb7f3 100644 --- a/src/charts/domain/logxydomain.cpp +++ b/src/charts/domain/logxydomain.cpp @@ -106,9 +106,9 @@ void LogXYDomain::zoomOut(const QRectF &rect) const qreal factorX = m_size.width() / fixedRect.width(); qreal logLeftX = m_logLeftX + (m_logRightX - m_logLeftX) / 2 * (1 - factorX); - qreal logRIghtX = m_logLeftX + (m_logRightX - m_logLeftX) / 2 * (1 + factorX); + qreal logRightX = m_logLeftX + (m_logRightX - m_logLeftX) / 2 * (1 + factorX); qreal leftX = qPow(m_logBaseX, logLeftX); - qreal rightX = qPow(m_logBaseX, logRIghtX); + qreal rightX = qPow(m_logBaseX, logRightX); qreal minX = leftX < rightX ? leftX : rightX; qreal maxX = leftX > rightX ? leftX : rightX; @@ -119,6 +119,12 @@ void LogXYDomain::zoomOut(const QRectF &rect) maxY = minY + dy * fixedRect.bottom(); minY = maxY - dy * m_size.height(); + if (logRightX > m_size.width()) + return; + + if (qIsInf(maxX)) + return; + setRange(minX, maxX, minY, maxY); } |