From 8bbdcc78ce8ea37256ea480875177207b509e596 Mon Sep 17 00:00:00 2001 From: sledgehammer999 Date: Sat, 25 Jan 2014 18:50:49 +0200 Subject: [PATCH] Statistics: handle case where user has gone back to older version. --- src/qtlibtorrent/torrentspeedmonitor.cpp | 9 +++++++++ 1 file changed, 9 insertions(+) diff --git a/src/qtlibtorrent/torrentspeedmonitor.cpp b/src/qtlibtorrent/torrentspeedmonitor.cpp index ce59190ee..678a63c7b 100644 --- a/src/qtlibtorrent/torrentspeedmonitor.cpp +++ b/src/qtlibtorrent/torrentspeedmonitor.cpp @@ -223,6 +223,15 @@ void TorrentSpeedMonitor::loadStats() { if (s_old.contains("Stats/AllStats")) { v = s_old.value("Stats/AllStats").toHash(); dirty = true; + + // If the user has used qbt > 3.1.5 and then reinstalled/used + // qbt < 3.1.6, there will be stats in qbittorrent-data.ini too + // so we need to merge those 2. + if (s.contains("Stats/AllStats")) { + QVariantHash tmp = s.value("Stats/AllStats").toHash(); + v["AlltimeDL"] = v["AlltimeDL"].toULongLong() + tmp["AlltimeDL"].toULongLong(); + v["AlltimeUL"] = v["AlltimeUL"].toULongLong() + tmp["AlltimeUL"].toULongLong(); + } } else v = s.value("Stats/AllStats").toHash();