Mercurial > geeqie
changeset 1743:1cc12c4b841a
start_editor_from_filelist_full fixes
fixed return value from start_editor_from_filelist_full()
call editor_command_parse to detect possible problems early enough
author | nadvornik |
---|---|
date | Mon, 07 Sep 2009 20:44:29 +0000 |
parents | eb64f542341b |
children | 2ce6b6bfd40a |
files | src/editors.c src/utilops.c |
diffstat | 2 files changed, 10 insertions(+), 6 deletions(-) [+] |
line wrap: on
line diff
--- a/src/editors.c Mon Sep 07 20:04:22 2009 +0000 +++ b/src/editors.c Mon Sep 07 20:44:29 2009 +0000 @@ -1225,14 +1225,18 @@ { EditorFlags error; EditorDescription *editor; - if (!key) return FALSE; + if (!key) return EDITOR_ERROR_EMPTY; editor = g_hash_table_lookup(editors, key); - if (!editor) return FALSE; - if (!list && !(editor->flags & EDITOR_NO_PARAM)) return FALSE; + if (!editor) return EDITOR_ERROR_EMPTY; + if (!list && !(editor->flags & EDITOR_NO_PARAM)) return EDITOR_ERROR_NO_FILE; - error = editor_command_start(editor, editor->name, list, working_directory, cb, data); + error = editor_command_parse(editor, list, TRUE, NULL); + + if (EDITOR_ERRORS(error)) return error; + + error |= editor_command_start(editor, editor->name, list, working_directory, cb, data); if (EDITOR_ERRORS(error)) { @@ -1242,7 +1246,7 @@ g_free(text); } - return error; + return EDITOR_ERRORS(error); } EditorFlags start_editor_from_filelist(const gchar *key, GList *list)
--- a/src/utilops.c Mon Sep 07 20:04:22 2009 +0000 +++ b/src/utilops.c Mon Sep 07 20:44:29 2009 +0000 @@ -872,7 +872,7 @@ } } - if (flags) + if (EDITOR_ERRORS(flags)) { gchar *text = g_strdup_printf(_("%s\nUnable to start external command.\n"), editor_get_error_str(flags)); file_util_warning_dialog(ud->messages.fail, text, GTK_STOCK_DIALOG_ERROR, NULL);