Skip to content

Commit

Permalink
updated for version 7.3.1289
Browse files Browse the repository at this point in the history
Problem:    Get GLIB warning when removing a menu item.
Solution:   Reference menu-id and also call gtk_container_remove().  (Ivan
            Krasilnikov)
  • Loading branch information
brammool committed Jul 3, 2013
1 parent 2951b77 commit f9da680
Show file tree
Hide file tree
Showing 2 changed files with 15 additions and 0 deletions.
13 changes: 13 additions & 0 deletions src/gui_gtk.c
Original file line number Diff line number Diff line change
Expand Up @@ -613,6 +613,17 @@ gui_mch_menu_set_tip(vimmenu_T *menu)
void
gui_mch_destroy_menu(vimmenu_T *menu)
{
/* Don't let gtk_container_remove automatically destroy menu->id. */
if (menu->id != NULL)
g_object_ref(menu->id);

/* Workaround for a spurious gtk warning in Ubuntu: "Trying to remove
* a child that doesn't believe we're it's parent."
* Remove widget from gui.menubar before destroying it. */
if (menu->id != NULL && gui.menubar != NULL
&& gtk_widget_get_parent(menu->id) == gui.menubar)
gtk_container_remove(GTK_CONTAINER(gui.menubar), menu->id);

# ifdef FEAT_TOOLBAR
if (menu->parent != NULL && menu_is_toolbar(menu->parent->name))
{
Expand All @@ -632,6 +643,8 @@ gui_mch_destroy_menu(vimmenu_T *menu)
gtk_widget_destroy(menu->id);
}

if (menu->id != NULL)
g_object_unref(menu->id);
menu->submenu_id = NULL;
menu->id = NULL;
}
Expand Down
2 changes: 2 additions & 0 deletions src/version.c
Original file line number Diff line number Diff line change
Expand Up @@ -728,6 +728,8 @@ static char *(features[]) =

static int included_patches[] =
{ /* Add new patch number below this line */
/**/
1289,
/**/
1288,
/**/
Expand Down

0 comments on commit f9da680

Please sign in to comment.