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



commit 5c6f185e9ba3dfe562b5de2d314f59f4b13e5424
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 4661b9daf..7f4bf5fa4 100644
--- a/glib/gbookmarkfile.c
+++ b/glib/gbookmarkfile.c
@@ -3528,6 +3528,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]