Index: src/hid_cfg.c =================================================================== --- src/hid_cfg.c (revision 1538) +++ src/hid_cfg.c (revision 1539) @@ -433,7 +433,7 @@ return n; } -lht_node_t *hid_cfg_get_submenu(const lht_node_t *parent, const char *path) +lht_node_t *hid_cfg_menu_field_path(const lht_node_t *parent, const char *path) { return lht_tree_path_(parent->doc, parent, path, 1, 0, NULL); } Index: src/hid_cfg.h =================================================================== --- src/hid_cfg.h (revision 1538) +++ src/hid_cfg.h (revision 1539) @@ -50,8 +50,6 @@ lht_node_t *hid_cfg_get_menu(hid_cfg_t *hr, const char *menu_path); lht_node_t *hid_cfg_get_menu_at(hid_cfg_t *hr, lht_node_t *at, const char *menu_path, lht_node_t *(*cb)(void *ctx, lht_node_t *node, const char *path, int rel_level), void *ctx); -#warning TODO: this is broken -lht_node_t *hid_cfg_get_submenu(const lht_node_t *parent, const char *path); /* Fields are retrieved using this enum so that HIDs don't need to hardwire @@ -75,6 +73,10 @@ field name expected in the lihata document (useful for error messages) */ lht_node_t *hid_cfg_menu_field(const lht_node_t *submenu, hid_cfg_menufield_t field, const char **field_name); +/* Return a lihata node usign a relative lihata path from parent - this is + just a wrapper around lht_tree_path_ */ +lht_node_t *hid_cfg_menu_field_path(const lht_node_t *parent, const char *path); + /* Return a text field of a submenu; return NULL and generate a Message() if the given field is not text */ const char *hid_cfg_menu_field_str(const lht_node_t *submenu, hid_cfg_menufield_t field); Index: src_plugins/hid_gtk/ghid-main-menu.c =================================================================== --- src_plugins/hid_gtk/ghid-main-menu.c (revision 1538) +++ src_plugins/hid_gtk/ghid-main-menu.c (revision 1539) @@ -311,7 +311,7 @@ lht_node_t *submenu, *i; GtkWidget *new_menu; - submenu = hid_cfg_get_submenu(base, "submenu"); + submenu = hid_cfg_menu_field_path(base, "submenu"); if (submenu == NULL) { hid_cfg_error(base, "can not create popup without submenu list"); return;