[glib/glib-2-58: 2/3] bookmarkfile: Don't move an item if the uri has not changed



commit 338614bf80fe9fecd6585bfbc706e6f34e1e7700
Author: Marco Trevisan (TreviƱo) <mail 3v1n0 net>
Date:   Mon Nov 5 17:15:32 2018 -0600

    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))


[Date Prev][Date Next]   [Thread Prev][Thread Next]   [Thread Index] [Date Index] [Author Index]