From 1ab5db3726fcbb5c05216e2f5b5ff59b2d95f3c2 Mon Sep 17 00:00:00 2001 From: "Robert C. Helling" Date: Fri, 2 Dec 2016 23:43:30 +0100 Subject: Empty image hashes are not valid I don't know how those arose in the first place, but an empty QByteArray is never a valid hash value for an image. So we should not store those in our translation tables and also get rid of them when loading the tables from disk. Signed-off-by: Robert C. Helling Signed-off-by: Dirk Hohndel --- core/qthelper.cpp | 16 ++++++++++++++++ 1 file changed, 16 insertions(+) (limited to 'core/qthelper.cpp') diff --git a/core/qthelper.cpp b/core/qthelper.cpp index 0628dd2e3..ad1780144 100644 --- a/core/qthelper.cpp +++ b/core/qthelper.cpp @@ -1026,6 +1026,20 @@ void read_hashes() stream >> thumbnailCache; hashfile.close(); } + localFilenameOf.remove(""); + QMutableHashIterator iter(hashOf); + while (iter.hasNext()) { + iter.next(); + if (iter.value().isEmpty()) + iter.remove(); + } + qDebug() << "localFilenameOf empty" << localFilenameOf[""]; + + QHash::const_iterator i = thumbnailCache.constBegin(); + while (i != thumbnailCache.constEnd()) { + qDebug() << i.key() << *i; + ++i; + } } void write_hashes() @@ -1046,6 +1060,8 @@ void write_hashes() void add_hash(const QString filename, QByteArray hash) { + if (hash.isEmpty()) + return; QMutexLocker locker(&hashOfMutex); hashOf[filename] = hash; localFilenameOf[hash] = filename; -- cgit v1.2.3-70-g09d2