From 8980a7d90ad0608d7798a3ddec6d6d7bd3546a38 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?L=C3=A9a=20Saviot?= Date: Wed, 23 May 2018 11:26:18 +0200 Subject: [PATCH] [apps/stats] Fix histogram display if series 0 is empty --- apps/statistics/histogram_controller.cpp | 15 +++++++++------ 1 file changed, 9 insertions(+), 6 deletions(-) diff --git a/apps/statistics/histogram_controller.cpp b/apps/statistics/histogram_controller.cpp index ed8b9556a..5e76144fd 100644 --- a/apps/statistics/histogram_controller.cpp +++ b/apps/statistics/histogram_controller.cpp @@ -84,16 +84,16 @@ View * HistogramController::ContentView::subviewAtIndex(int index) { return &m_bannerView; } int seriesIndex = 0; - int nonEmptySeriesIndex = 0; - while (nonEmptySeriesIndex < index && seriesIndex < Store::k_numberOfSeries) { + int nonEmptySeriesIndex = -1; + while (seriesIndex < Store::k_numberOfSeries) { if (!m_store->seriesIsEmpty(seriesIndex)) { nonEmptySeriesIndex++; + if (nonEmptySeriesIndex == index) { + return histogramViewAtIndex(seriesIndex); + } } seriesIndex++; } - if (nonEmptySeriesIndex == index) { - return histogramViewAtIndex(seriesIndex); - } assert(false); return nullptr; } @@ -190,7 +190,10 @@ bool HistogramController::handleEvent(Ion::Events::Event event) { } void HistogramController::didBecomeFirstResponder() { - if (m_selectedSeries < 0) { + if (m_selectedSeries < 0 || m_store->sumOfOccurrences(m_selectedSeries) == 0) { + if (m_selectedSeries >= 0) { + m_view.histogramViewAtIndex(m_selectedSeries)->selectMainView(false); + } m_selectedSeries = m_view.seriesOfSubviewAtIndex(0); m_view.histogramViewAtIndex(m_selectedSeries)->selectMainView(true); }