summaryrefslogtreecommitdiffstats
path: root/desktop-widgets/templatelayout.cpp
diff options
context:
space:
mode:
authorGravatar Berthold Stoeger <bstoeger@mail.tuwien.ac.at>2018-10-06 10:58:12 +0200
committerGravatar Dirk Hohndel <dirk@hohndel.org>2018-10-07 17:50:51 +0300
commit97991e2b9fff4254c2b40417bf6d7496ba0d849f (patch)
treea2b9af681e9ac5e72e4846736df001f75f7cc788 /desktop-widgets/templatelayout.cpp
parent68fdc0b6f49c81cb61387b7d006807509280c9df (diff)
downloadsubsurface-97991e2b9fff4254c2b40417bf6d7496ba0d849f.tar.gz
Statistics: remove global state / calculate only when needed
Statistics were calculated into global variables every time the current dive was changed. Calculate statistics only when needed and into a structure provided by the caller. Signed-off-by: Berthold Stoeger <bstoeger@mail.tuwien.ac.at>
Diffstat (limited to 'desktop-widgets/templatelayout.cpp')
-rw-r--r--desktop-widgets/templatelayout.cpp6
1 files changed, 4 insertions, 2 deletions
diff --git a/desktop-widgets/templatelayout.cpp b/desktop-widgets/templatelayout.cpp
index 0d6586390..5bef7b172 100644
--- a/desktop-widgets/templatelayout.cpp
+++ b/desktop-widgets/templatelayout.cpp
@@ -207,8 +207,10 @@ QString TemplateLayout::generateStatistics()
QVariantList years;
int i = 0;
- while (stats_yearly != NULL && stats_yearly[i].period) {
- YearInfo year(stats_yearly[i]);
+ stats_summary_auto_free stats;
+ calculate_stats_summary(&stats);
+ while (stats.stats_yearly != NULL && stats.stats_yearly[i].period) {
+ YearInfo year(stats.stats_yearly[i]);
years.append(QVariant::fromValue(year));
i++;
}