[gnome-builder] menu-manager: fix menu unmerging ref issue



commit b1466b762a481caf40072cb8590f3e5b66cc38a5
Author: Christian Hergert <chergert redhat com>
Date:   Mon Dec 14 02:26:35 2015 -0800

    menu-manager: fix menu unmerging ref issue

 contrib/egg/egg-menu-manager.c |   10 ++++------
 1 files changed, 4 insertions(+), 6 deletions(-)
---
diff --git a/contrib/egg/egg-menu-manager.c b/contrib/egg/egg-menu-manager.c
index 59e23b0..ad04b81 100644
--- a/contrib/egg/egg-menu-manager.c
+++ b/contrib/egg/egg-menu-manager.c
@@ -452,14 +452,15 @@ egg_menu_manager_remove (EggMenuManager *self,
 
   while (g_hash_table_iter_next (&iter, NULL, (gpointer *)&menu))
     {
-      guint n_items;
+      gint n_items;
       gint i;
 
       g_assert (G_IS_MENU (menu));
 
       n_items = g_menu_model_get_n_items (G_MENU_MODEL (menu));
 
-      for (i = 0; i < n_items; i++)
+      /* Iterate backward so we have a stable loop variable. */
+      for (i = n_items - 1; i >= 0; i--)
         {
           guint item_merge_id;
 
@@ -467,10 +468,7 @@ egg_menu_manager_remove (EggMenuManager *self,
                                                i,
                                                EGG_MENU_ATTRIBUTE_MERGE_ID,
                                                "u", &item_merge_id))
-            {
-              g_menu_remove (menu, i);
-              i--;
-            }
+            g_menu_remove (menu, i);
         }
     }
 }


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