Mercurial > geeqie
diff src/editors.c @ 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 | a0e47436b552 |
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)