X-Git-Url: https://git.dogcows.com/gitweb?a=blobdiff_plain;f=openbox%2Fmenu.c;h=63b74b9520aae55962c5b17ee342022920d3f89b;hb=c8ef10a0e1d8b75a8ae6027383a5081a9a1b0ea0;hp=f6d19d0127fdd1fe01aa9697b938e836964562e3;hpb=edeb0a2727dd9ca6fea0ba95dd87a48601da1304;p=chaz%2Fopenbox diff --git a/openbox/menu.c b/openbox/menu.c index f6d19d01..63b74b95 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; @@ -158,7 +159,6 @@ void menu_clear_pipe_caches(void) void menu_pipe_execute(ObMenu *self) { - xmlNodePtr node; gchar *output; GError *err = NULL; @@ -179,7 +179,7 @@ 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); @@ -315,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; @@ -500,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);