From 821d28024bf2bc4287163f5001fb902820933e37 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))