diff options
author | Berthold Stoeger <bstoeger@mail.tuwien.ac.at> | 2018-06-06 21:32:17 +0200 |
---|---|---|
committer | Dirk Hohndel <dirk@hohndel.org> | 2018-06-07 18:41:32 +0200 |
commit | 2e8f5066357cbfb1d1778a3a2abf62c021951fef (patch) | |
tree | cffd456afb09db9087891384eaf2bbf19b064589 /core/qthelper.cpp | |
parent | 780530f32ec8aa691916b839a96d8863e8dceb66 (diff) | |
download | subsurface-2e8f5066357cbfb1d1778a3a2abf62c021951fef.tar.gz |
Dive pictures: remove cache_picture() call in dive_add_picture()
When adding a picture to a dive, cache_picture() was called, which
calculated the hash of the picture in a background-thread.
This made tests occasionally fail, because the tests depended on
the filename-to-localfilename being overwritten in a call running
in a different thread. Depending on which thread finished first,
the test succeeded or failed.
The easiest way to circumvent this problem is to remove the cache_picture()
call. The hash will be calculated anyway with the thumbnails. And
the only function of the hash is the "find moved images" function. Which
is not an issue here, because the user just loaded the images from
disk.
Reported-by: Jan Iversen <jani@apache.org>
Signed-off-by: Berthold Stoeger <bstoeger@mail.tuwien.ac.at>
Diffstat (limited to 'core/qthelper.cpp')
-rw-r--r-- | core/qthelper.cpp | 13 |
1 files changed, 0 insertions, 13 deletions
diff --git a/core/qthelper.cpp b/core/qthelper.cpp index d6a61b39c..12b025c3c 100644 --- a/core/qthelper.cpp +++ b/core/qthelper.cpp @@ -1216,12 +1216,6 @@ void learnHash(const QString &originalName, const QString &localName, const QByt hashOf[originalName] = hash; } -static bool haveHash(const QString &filename) -{ - QMutexLocker locker(&hashOfMutex); - return hashOf.contains(filename); -} - QString localFilePath(const QString &originalFilename) { QMutexLocker locker(&hashOfMutex); @@ -1241,13 +1235,6 @@ void hashPicture(QString filename) mark_divelist_changed(true); } -extern "C" void cache_picture(struct picture *picture) -{ - QString filename = picture->filename; - if (!haveHash(filename)) - QtConcurrent::run(hashPicture, filename); -} - QStringList imageExtensionFilters() { QStringList filters; foreach (QString format, QImageReader::supportedImageFormats()) { |