summaryrefslogtreecommitdiff
path: root/openbox
diff options
context:
space:
mode:
Diffstat (limited to 'openbox')
-rw-r--r--openbox/action.c15
1 files changed, 11 insertions, 4 deletions
diff --git a/openbox/action.c b/openbox/action.c
index d79bf7ae..9015939e 100644
--- a/openbox/action.c
+++ b/openbox/action.c
@@ -551,11 +551,18 @@ Action *action_from_string(char *name)
void action_execute(union ActionData *data)
{
GError *e = NULL;
- if (data->execute.path)
- if (!g_spawn_command_line_async(data->execute.path, &e)) {
- g_warning("failed to execute '%s': %s",
- data->execute.path, e->message);
+ char *cmd;
+ if (data->execute.path) {
+ cmd = g_filename_from_utf8(data->execute.path, -1, NULL, NULL, NULL);
+ if (cmd) {
+ if (!g_spawn_command_line_async(cmd, &e)) {
+ g_warning("failed to execute '%s': %s",
+ cmd, e->message);
+ }
+ } else {
+ g_warning("failed to convert '%s' from utf8", data->execute.path);
}
+ }
}
void action_focus(union ActionData *data)