diff options
-rw-r--r-- | core/imagedownloader.cpp | 9 | ||||
-rw-r--r-- | core/qthelper.cpp | 10 |
2 files changed, 6 insertions, 13 deletions
diff --git a/core/imagedownloader.cpp b/core/imagedownloader.cpp index db2d81b99..1d82c50c5 100644 --- a/core/imagedownloader.cpp +++ b/core/imagedownloader.cpp @@ -148,7 +148,6 @@ Thumbnailer *Thumbnailer::instance() static QImage getThumbnailFromCache(const QString &picture_filename) { - // First, check if we know a hash for this filename QString filename = thumbnailFileName(picture_filename); if (filename.isEmpty()) return QImage(); @@ -173,14 +172,6 @@ static void addThumbnailToCache(const QImage &thumbnail, const QString &picture_ return; QString filename = thumbnailFileName(picture_filename); - - // If we got a thumbnail, we are guaranteed to have its hash and therefore - // thumbnailFileName() should return a filename. - if (filename.isEmpty()) { - qWarning() << "Internal error: can't get filename of recently created thumbnail"; - return; - } - QSaveFile file(filename); if (!file.open(QIODevice::WriteOnly)) return; diff --git a/core/qthelper.cpp b/core/qthelper.cpp index 11d74a14e..638931055 100644 --- a/core/qthelper.cpp +++ b/core/qthelper.cpp @@ -1088,12 +1088,14 @@ static QString thumbnailDir() return QString(system_default_directory()) + "/thumbnails/"; } -// Return filename of thumbnail if it is known to us. -// If this is an unknown thumbnail, return an empty string. +// Calculate thumbnail filename by hashing name of file. QString thumbnailFileName(const QString &filename) { - QString hash = getHash(filename).toHex(); - return hash.isEmpty() ? QString() : thumbnailDir() + hash; + if (filename.isEmpty()) + return QString(); + QCryptographicHash hash(QCryptographicHash::Sha1); + hash.addData(filename.toUtf8()); + return thumbnailDir() + hash.result().toHex(); } extern "C" char *hashfile_name_string() |