mirror of
https://github.com/vim/vim.git
synced 2025-09-23 03:43:49 -04:00
updated for version 7.3.1289
Problem: Get GLIB warning when removing a menu item. Solution: Reference menu-id and also call gtk_container_remove(). (Ivan Krasilnikov)
This commit is contained in:
@@ -613,6 +613,17 @@ gui_mch_menu_set_tip(vimmenu_T *menu)
|
|||||||
void
|
void
|
||||||
gui_mch_destroy_menu(vimmenu_T *menu)
|
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
|
# ifdef FEAT_TOOLBAR
|
||||||
if (menu->parent != NULL && menu_is_toolbar(menu->parent->name))
|
if (menu->parent != NULL && menu_is_toolbar(menu->parent->name))
|
||||||
{
|
{
|
||||||
@@ -632,6 +643,8 @@ gui_mch_destroy_menu(vimmenu_T *menu)
|
|||||||
gtk_widget_destroy(menu->id);
|
gtk_widget_destroy(menu->id);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
if (menu->id != NULL)
|
||||||
|
g_object_unref(menu->id);
|
||||||
menu->submenu_id = NULL;
|
menu->submenu_id = NULL;
|
||||||
menu->id = NULL;
|
menu->id = NULL;
|
||||||
}
|
}
|
||||||
|
@@ -728,6 +728,8 @@ static char *(features[]) =
|
|||||||
|
|
||||||
static int included_patches[] =
|
static int included_patches[] =
|
||||||
{ /* Add new patch number below this line */
|
{ /* Add new patch number below this line */
|
||||||
|
/**/
|
||||||
|
1289,
|
||||||
/**/
|
/**/
|
||||||
1288,
|
1288,
|
||||||
/**/
|
/**/
|
||||||
|
Reference in New Issue
Block a user