[gnome-builder/wip/chergert/perspective] menu-manager: fix menu unmerging ref issue
- From: Christian Hergert <chergert src gnome org>
- To: commits-list gnome org
- Cc:
- Subject: [gnome-builder/wip/chergert/perspective] menu-manager: fix menu unmerging ref issue
- Date: Mon, 14 Dec 2015 10:26:57 +0000 (UTC)
commit af649b16ad7a18ed0b32178554a3c5f014201e43
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]