summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
-rw-r--r--core/qthelper.cpp2
-rw-r--r--core/save-xml.c6
2 files changed, 5 insertions, 3 deletions
diff --git a/core/qthelper.cpp b/core/qthelper.cpp
index 03dd56637..af0db074c 100644
--- a/core/qthelper.cpp
+++ b/core/qthelper.cpp
@@ -1071,7 +1071,7 @@ QHash <QString, QImage > thumbnailCache;
extern "C" char * hashstring(const char *filename)
{
QMutexLocker locker(&hashOfMutex);
- return hashOf[QString(filename)].toHex().data();
+ return strdup(hashOf[QString(filename)].toHex().data());
}
const QString hashfile_name()
diff --git a/core/save-xml.c b/core/save-xml.c
index 0fdd4df79..2a1b31d12 100644
--- a/core/save-xml.c
+++ b/core/save-xml.c
@@ -435,8 +435,10 @@ static void save_picture(struct membuffer *b, struct picture *pic)
put_degrees(b, pic->latitude, " gps='", " ");
put_degrees(b, pic->longitude, "", "'");
}
- if (hashstring(pic->filename))
- put_format(b, " hash='%s'", hashstring(pic->filename));
+ char *hash = hashstring(pic->filename);
+ if (!empty_string(hash))
+ put_format(b, " hash='%s'", hash);
+ free(hash);
put_string(b, "/>\n");
}