Welcome to mirror list, hosted at ThFree Co, Russian Federation.

git.blender.org/blender.git - Unnamed repository; edit this file 'description' to name the repository.
summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
Diffstat (limited to 'source/creator/creator_args.c')
-rw-r--r--source/creator/creator_args.c19
1 files changed, 14 insertions, 5 deletions
diff --git a/source/creator/creator_args.c b/source/creator/creator_args.c
index 0a73426e12b..4ebc679cf0b 100644
--- a/source/creator/creator_args.c
+++ b/source/creator/creator_args.c
@@ -44,6 +44,8 @@
#include "BLI_fileops.h"
#include "BLI_mempool.h"
+#include "BLO_readfile.h" /* only for BLO_has_bfile_extension */
+
#include "BKE_blender_version.h"
#include "BKE_context.h"
@@ -1740,11 +1742,18 @@ static int arg_handle_load_file(int UNUSED(argc), const char **argv, void *data)
return -1;
}
- /* Just pretend a file was loaded, so the user can press Save and it'll save at the filename from the CLI. */
- BLI_strncpy(G.main->name, filename, FILE_MAX);
- G.relbase_valid = true;
- G.save_over = true;
- printf("... opened default scene instead; saving will write to %s\n", filename);
+ if (BLO_has_bfile_extension(filename)) {
+ /* Just pretend a file was loaded, so the user can press Save and it'll save at the filename from the CLI. */
+ BLI_strncpy(G.main->name, filename, FILE_MAX);
+ G.relbase_valid = true;
+ G.save_over = true;
+ printf("... opened default scene instead; saving will write to: %s\n", filename);
+ }
+ else {
+ printf("Error: argument has no '.blend' file extension, not using as new file, exiting! %s\n", filename);
+ G.is_break = true;
+ WM_exit(C);
+ }
}
G.file_loaded = 1;