menu_parse_state.pipe_creator = NULL;
parse_register(menu_parse_inst, "menu", parse_menu, &menu_parse_state);
parse_register(menu_parse_inst, "item", parse_menu_item,
menu_parse_state.pipe_creator = NULL;
parse_register(menu_parse_inst, "menu", parse_menu, &menu_parse_state);
parse_register(menu_parse_inst, "item", parse_menu_item,
if (parse_attr_string("label", node, &label)) {
GSList *acts = NULL;
for (node = node->xmlChildrenNode; node; node = node->next)
if (!xmlStrcasecmp(node->name, (const xmlChar*) "action"))
acts = g_slist_append(acts, action_parse(i, doc, node));
if (parse_attr_string("label", node, &label)) {
GSList *acts = NULL;
for (node = node->xmlChildrenNode; node; node = node->next)
if (!xmlStrcasecmp(node->name, (const xmlChar*) "action"))
acts = g_slist_append(acts, action_parse(i, doc, node));
- menu_add_normal(state->menus->data, -1, label, acts);
+ menu_add_normal(state->parent, -1, label, acts);
}
static void parse_menu(ObParseInst *i, xmlDocPtr doc, xmlNodePtr node,
}
static void parse_menu(ObParseInst *i, xmlDocPtr doc, xmlNodePtr node,
if (parse_attr_string("execute", node, &script)) {
menu->execute = ob_expand_tilde(script);
} else {
if (parse_attr_string("execute", node, &script)) {
menu->execute = ob_expand_tilde(script);
} else {