From 7b51a4c1bee4db3bdd52b3706c86ef96e68e1c70 Mon Sep 17 00:00:00 2001 From: Dirk Hohndel Date: Tue, 13 Oct 2015 10:33:30 -0700 Subject: [PATCH] Only mark the divelist changed if something actually changed Otherwise you could end up in a situation where the data file is always marked as changed when opened (for example if your data file references a picture that doesn't exist at that path and can't be found, either). Signed-off-by: Dirk Hohndel --- qthelper.cpp | 6 ++++-- 1 file changed, 4 insertions(+), 2 deletions(-) diff --git a/qthelper.cpp b/qthelper.cpp index a963ad73f..c74dba647 100644 --- a/qthelper.cpp +++ b/qthelper.cpp @@ -1148,9 +1148,11 @@ void updateHash(struct picture *picture) { void hashPicture(struct picture *picture) { + char *oldHash = copy_string(picture->hash); learnHash(picture, hashFile(QString(picture->filename))); - mark_divelist_changed((true)); - + if (!same_string(picture->hash, "") && !same_string(picture->hash, oldHash)) + mark_divelist_changed((true)); + free(oldHash); } extern "C" void cache_picture(struct picture *picture)