Make sure that we actually return menus for nodes of type menu, not the

Sun May  9 00:03:03 2004  Matthias Clasen  <maclas@gmx.de>

	* gtk/gtkuimanager.c (gtk_ui_manager_get_widget): Make sure
	that we actually return menus for nodes of type menu, not the
	menuitems they're attached to.
This commit is contained in:
Matthias Clasen 2004-05-09 04:03:59 +00:00 committed by Matthias Clasen
parent 7120957e11
commit 00d7e53621
5 changed files with 35 additions and 2 deletions

View File

@ -1,3 +1,9 @@
Sun May 9 00:03:03 2004 Matthias Clasen <maclas@gmx.de>
* gtk/gtkuimanager.c (gtk_ui_manager_get_widget): Make sure
that we actually return menus for nodes of type menu, not the
menuitems they're attached to.
Sat May 8 22:50:55 2004 Matthias Clasen <maclas@gmx.de>
* gtk/gtkactiongroup.c (gtk_action_group_set_translation_domain):

View File

@ -1,3 +1,9 @@
Sun May 9 00:03:03 2004 Matthias Clasen <maclas@gmx.de>
* gtk/gtkuimanager.c (gtk_ui_manager_get_widget): Make sure
that we actually return menus for nodes of type menu, not the
menuitems they're attached to.
Sat May 8 22:50:55 2004 Matthias Clasen <maclas@gmx.de>
* gtk/gtkactiongroup.c (gtk_action_group_set_translation_domain):

View File

@ -1,3 +1,9 @@
Sun May 9 00:03:03 2004 Matthias Clasen <maclas@gmx.de>
* gtk/gtkuimanager.c (gtk_ui_manager_get_widget): Make sure
that we actually return menus for nodes of type menu, not the
menuitems they're attached to.
Sat May 8 22:50:55 2004 Matthias Clasen <maclas@gmx.de>
* gtk/gtkactiongroup.c (gtk_action_group_set_translation_domain):

View File

@ -1,3 +1,9 @@
Sun May 9 00:03:03 2004 Matthias Clasen <maclas@gmx.de>
* gtk/gtkuimanager.c (gtk_ui_manager_get_widget): Make sure
that we actually return menus for nodes of type menu, not the
menuitems they're attached to.
Sat May 8 22:50:55 2004 Matthias Clasen <maclas@gmx.de>
* gtk/gtkactiongroup.c (gtk_action_group_set_translation_domain):

View File

@ -708,12 +708,21 @@ gtk_ui_manager_get_widget (GtkUIManager *self,
* widget */
gtk_ui_manager_ensure_update (self);
if (strncmp ("/ui", path, 3) == 0)
path += 3;
node = get_node (self, path, NODE_TYPE_UNDECIDED, FALSE);
if (node == NULL)
return NULL;
return NODE_INFO (node)->proxy;
if (NODE_INFO (node)->type == NODE_TYPE_MENU)
{
GtkWidget *proxy = NODE_INFO (node)->proxy;
return gtk_menu_item_get_submenu (GTK_MENU_ITEM (proxy));
}
else
return NODE_INFO (node)->proxy;
}
static void
@ -928,7 +937,7 @@ get_node (GtkUIManager *self,
create, FALSE);
if (!node)
return NULL;
pos += length + 1; /* move past the node name and the slash too */
parent = node;
}