diff options
author | Berthold Stoeger <bstoeger@mail.tuwien.ac.at> | 2018-02-18 14:07:15 +0100 |
---|---|---|
committer | Lubomir I. Ivanov <neolit123@gmail.com> | 2018-03-05 18:04:57 +0200 |
commit | b750a48f0f834dcf33fc2518c877f498f3b3cff5 (patch) | |
tree | 9d71fdb457cf78fb2ef3569a9801c89612460324 | |
parent | 83b287064896de96d8757c604c276f7521b714b8 (diff) | |
download | subsurface-b750a48f0f834dcf33fc2518c877f498f3b3cff5.tar.gz |
Cleanup: Don't store hash in picture struct in learnHash()
learnHash() is called either on a local picture structure
[DiveListView::loadImageFromURL()] or on a cloned picture structure
[ImageDownloader::saveImage()]. In neither case the picture structure
is passed to the frontend. Therefore, storing the new hash in the
picture struct is not necessary.
Signed-off-by: Berthold Stoeger <bstoeger@mail.tuwien.ac.at>
-rw-r--r-- | core/qthelper.cpp | 5 | ||||
-rw-r--r-- | core/qthelper.h | 3 | ||||
-rw-r--r-- | tests/testpicture.cpp | 5 |
3 files changed, 5 insertions, 8 deletions
diff --git a/core/qthelper.cpp b/core/qthelper.cpp index e7bf7dcf4..0029ca13a 100644 --- a/core/qthelper.cpp +++ b/core/qthelper.cpp @@ -1149,15 +1149,12 @@ QByteArray hashFile(const QString filename) } } -void learnHash(struct picture *picture, QByteArray hash) +void learnHash(const struct picture *picture, QByteArray hash) { if (hash.isNull()) return; - if (picture->hash) - free(picture->hash); QMutexLocker locker(&hashOfMutex); hashOf[QString(picture->filename)] = hash; - picture->hash = strdup(hash.toHex()); } static bool haveHash(const QString &filename) diff --git a/core/qthelper.h b/core/qthelper.h index f84c74d2b..a71960c86 100644 --- a/core/qthelper.h +++ b/core/qthelper.h @@ -37,9 +37,10 @@ QByteArray hashFile(const QString filename); void learnImages(const QDir dir, int max_recursions); void add_hash(const QString filename, QByteArray hash); void hashPicture(struct picture *picture); +extern "C" char *hashstring(const char *filename); QString localFilePath(const QString originalFilename); QString fileFromHash(const char *hash); -void learnHash(struct picture *picture, QByteArray hash); +void learnHash(const struct picture *picture, QByteArray hash); weight_t string_to_weight(const char *str); depth_t string_to_depth(const char *str); pressure_t string_to_pressure(const char *str); diff --git a/tests/testpicture.cpp b/tests/testpicture.cpp index 38e8e3d5b..94b1fe0ee 100644 --- a/tests/testpicture.cpp +++ b/tests/testpicture.cpp @@ -43,9 +43,8 @@ void TestPicture::addPicture() QVERIFY(pic2->hash == NULL); learnHash(pic1, hashFile(localFilePath(pic1->filename))); learnHash(pic2, hashFile(localFilePath(pic2->filename))); - QCOMPARE(pic1->hash, "929ad9499b7ae7a9e39ef63eb6c239604ac2adfa"); - QCOMPARE(pic2->hash, "fa8bd48f8f24017a81e1204f52300bd98b43d4a7"); - + QCOMPARE(hashstring(pic1->filename), "929ad9499b7ae7a9e39ef63eb6c239604ac2adfa"); + QCOMPARE(hashstring(pic2->filename), "fa8bd48f8f24017a81e1204f52300bd98b43d4a7"); } |