diff options
author | David King <amigadave@amigadave.com> | 2019-06-07 14:39:33 +0100 |
---|---|---|
committer | David King <amigadave@amigadave.com> | 2019-06-07 14:39:33 +0100 |
commit | 86ae341d6837e7b6b36bd8e0c65be0211ef37eba (patch) | |
tree | 13c339caf67ee55cd8512395382abb70a014390c | |
parent | ad20f4ae21ec7767ddbf61e631ccc74abcb10be3 (diff) | |
download | gnome-logs-86ae341d6837e7b6b36bd8e0c65be0211ef37eba.tar.gz |
Avoid a segfault when updating the boot menu
-rw-r--r-- | src/gl-eventtoolbar.c | 14 |
1 files changed, 9 insertions, 5 deletions
diff --git a/src/gl-eventtoolbar.c b/src/gl-eventtoolbar.c index 8107448..9a8bd5c 100644 --- a/src/gl-eventtoolbar.c +++ b/src/gl-eventtoolbar.c @@ -55,13 +55,17 @@ gl_event_toolbar_update_boot_menu_label (GlEventToolbar *toolbar, boot_menu = gtk_menu_button_get_menu_model (GTK_MENU_BUTTON (priv->menu_button)); section = g_menu_model_get_item_link (boot_menu, 0, "section"); - menu_item = g_menu_item_new_from_model (section, 0); - g_menu_item_set_label (menu_item, latest_boot); - g_menu_remove (G_MENU (section), 0); - g_menu_insert_item (G_MENU (section), 0, menu_item); + if (g_menu_model_get_n_items (section) < 0) + { + menu_item = g_menu_item_new_from_model (section, 0); + g_menu_item_set_label (menu_item, latest_boot); + + g_menu_remove (G_MENU (section), 0); + g_menu_insert_item (G_MENU (section), 0, menu_item); - g_object_unref (menu_item); + g_object_unref (menu_item); + } } void |