Fix (unreported) `load_file()` func from creator.c not setting G.save_over correctly.
authorBastien Montagne <montagne29@wanadoo.fr>
Thu, 12 Feb 2015 16:30:19 +0000 (17:30 +0100)
committerBastien Montagne <montagne29@wanadoo.fr>
Thu, 12 Feb 2015 16:30:19 +0000 (17:30 +0100)
This was rather annoying, since if you were script-editing a .blend file in background
mode, opened through this commandline option system,  and wanted to save over,
a mere `bpy.ops.wm.save_mainfile()` *would not* overwrite expected file,
but instead write/replace the dummy `untitled.blend` one!

source/creator/creator.c

index 15406485c7fecb02c766e6116d440d1fe81708bb..23a32af4dd0a3d502d975c93eeb05c556dd7251d 100644 (file)
@@ -1241,7 +1241,14 @@ static int load_file(int UNUSED(argc), const char **argv, void *data)
 
                        CTX_wm_manager_set(C, NULL); /* remove wm to force check */
                        WM_check(C);
-                       G.relbase_valid = 1;
+                       if (bmain->name[0]) {
+                               G.save_over = 1;
+                               G.relbase_valid = 1;
+                       }
+                       else {
+                               G.save_over = 0;
+                               G.relbase_valid = 0;
+                       }
                        if (CTX_wm_manager(C) == NULL) CTX_wm_manager_set(C, wm);  /* reset wm */
 
                        /* WM_file_read would call normally */