X-Git-Url: https://git.dogcows.com/gitweb?a=blobdiff_plain;f=openbox%2Fmenu.c;h=432aa2be9d5b849a6e309f8b402fddba44b8deeb;hb=163950b23bf796a39870044417ca54d667b6b470;hp=97af104e17dba688dc36193331585902e1237aac;hpb=fdabb69f4f25596df972caa76c85c2aeba26226e;p=chaz%2Fopenbox diff --git a/openbox/menu.c b/openbox/menu.c index 97af104e..432aa2be 100644 --- a/openbox/menu.c +++ b/openbox/menu.c @@ -35,6 +35,7 @@ #include "client_list_combined_menu.h" #include "gettext.h" #include "obt/parse.h" +#include "obt/paths.h" typedef struct _ObMenuParseState ObMenuParseState; @@ -94,11 +95,10 @@ void menu_startup(gboolean reconfig) "openbox_menu")) { loaded = TRUE; - obt_parse_tree(menu_parse_inst, - obt_parse_instance_root(menu_parse_inst)->children); + obt_parse_tree_from_root(menu_parse_inst); obt_parse_close(menu_parse_inst); } else - g_message(_("Unable to find a valid menu file '%s'"), + g_message(_("Unable to find a valid menu file \"%s\""), (const gchar*)it->data); } if (!loaded) { @@ -107,11 +107,10 @@ void menu_startup(gboolean reconfig) "menu.xml", "openbox_menu")) { - obt_parse_tree(menu_parse_inst, - obt_parse_instance_root(menu_parse_inst)->children); + obt_parse_tree_from_root(menu_parse_inst); obt_parse_close(menu_parse_inst); } else - g_message(_("Unable to find a valid menu file '%s'"), + g_message(_("Unable to find a valid menu file \"%s\""), "menu.xml"); } @@ -160,7 +159,6 @@ void menu_clear_pipe_caches(void) void menu_pipe_execute(ObMenu *self) { - xmlNodePtr node; gchar *output; GError *err = NULL; @@ -170,7 +168,7 @@ void menu_pipe_execute(ObMenu *self) return; if (!g_spawn_command_line_sync(self->execute, &output, NULL, NULL, &err)) { - g_message(_("Failed to execute command for pipe-menu '%s': %s"), + g_message(_("Failed to execute command for pipe-menu \"%s\": %s"), self->execute, err->message); g_error_free(err); return; @@ -181,10 +179,10 @@ void menu_pipe_execute(ObMenu *self) { menu_parse_state.pipe_creator = self; menu_parse_state.parent = self; - obt_parse_tree(menu_parse_inst, node->children); + obt_parse_tree_from_root(menu_parse_inst); obt_parse_close(menu_parse_inst); } else { - g_message(_("Invalid output from pipe-menu '%s'"), self->execute); + g_message(_("Invalid output from pipe-menu \"%s\""), self->execute); } g_free(output); @@ -197,7 +195,7 @@ static ObMenu* menu_from_name(gchar *name) g_assert(name != NULL); if (!(self = g_hash_table_lookup(menu_hash, name))) - g_message(_("Attempted to access menu '%s' but it does not exist"), + g_message(_("Attempted to access menu \"%s\" but it does not exist"), name); return self; } @@ -317,7 +315,7 @@ static void parse_menu(xmlNodePtr node, gpointer data) if ((menu = menu_new(name, title, TRUE, NULL))) { menu->pipe_creator = state->pipe_creator; if (obt_parse_attr_string(node, "execute", &script)) { - menu->execute = parse_expand_tilde(script); + menu->execute = obt_paths_expand_tilde(script); } else { ObMenu *old; @@ -502,6 +500,7 @@ void menu_entry_unref(ObMenuEntry *self) if (self && --self->ref == 0) { switch (self->type) { case OB_MENU_ENTRY_TYPE_NORMAL: + RrImageUnref(self->data.normal.icon); g_free(self->data.normal.label); while (self->data.normal.actions) { actions_act_unref(self->data.normal.actions->data);