From 338614bf80fe9fecd6585bfbc706e6f34e1e7700 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Marco=20Trevisan=20=28Trevi=C3=B1o=29?= Date: Mon, 5 Nov 2018 17:15:32 -0600 Subject: [PATCH] bookmarkfile: Don't move an item if the uri has not changed This was causing a crash, because we were first removing an item, freeing both the instance itself and the key, and then trying to reuse those. So, in this case, instead of reassigning an item, we can just return TRUE as we have already the item at the right place, while it's not needed to update the modified timestamp, since no modification happened in reality. Fixes #1588 --- glib/gbookmarkfile.c | 3 +++ 1 file changed, 3 insertions(+) diff --git a/glib/gbookmarkfile.c b/glib/gbookmarkfile.c index ffd7ea0b1..f75f261b1 100644 --- a/glib/gbookmarkfile.c +++ b/glib/gbookmarkfile.c @@ -3584,6 +3584,9 @@ g_bookmark_file_move_item (GBookmarkFile *bookmark, if (new_uri && new_uri[0] != '\0') { + if (g_strcmp0 (old_uri, new_uri) == 0) + return TRUE; + if (g_bookmark_file_has_item (bookmark, new_uri)) { if (!g_bookmark_file_remove_item (bookmark, new_uri, error))