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)