diff options
author | Tamito Kajiyama <rd6t-kjym@asahi-net.or.jp> | 2010-02-28 06:44:15 +0300 |
---|---|---|
committer | Tamito Kajiyama <rd6t-kjym@asahi-net.or.jp> | 2010-02-28 06:44:15 +0300 |
commit | b21a994076e12804efe49dc35fb698a81f5a33a3 (patch) | |
tree | c6630190078ff969b5bbc8eca48235c9833eb73a /source/creator | |
parent | 07fdcb1f1b919f1359c6b77d8ae2fe08d7506a48 (diff) | |
parent | e51bcbae6230882eb2c5b16974b86a906b398408 (diff) |
Merged changes in the trunk up to revision 27178.
Diffstat (limited to 'source/creator')
-rw-r--r-- | source/creator/creator.c | 19 |
1 files changed, 12 insertions, 7 deletions
diff --git a/source/creator/creator.c b/source/creator/creator.c index 929a3ff0655..dd68128a55f 100644 --- a/source/creator/creator.c +++ b/source/creator/creator.c @@ -303,7 +303,7 @@ static int end_arguments(int argc, char **argv, void *data) static int disable_python(int argc, char **argv, void *data) { - G.f &= ~G_DOSCRIPTLINKS; + G.f &= ~G_SCRIPT_AUTOEXEC; return 0; } @@ -769,8 +769,14 @@ static int set_skip_frame(int argc, char **argv, void *data) static int run_python(int argc, char **argv, void *data) { - bContext *C = data; #ifndef DISABLE_PYTHON + bContext *C = data; + + /* Make the path absolute because its needed for relative linked blends to be found */ + char filename[FILE_MAXDIR + FILE_MAXFILE]; + BLI_strncpy(filename, argv[1], sizeof(filename)); + BLI_convertstringcwd(filename); + /* workaround for scripts not getting a bpy.context.scene, causes internal errors elsewhere */ if (argc > 1) { /* XXX, temp setting the WM is ugly, splash also does this :S */ @@ -780,13 +786,13 @@ static int run_python(int argc, char **argv, void *data) if(wm->windows.first) { CTX_wm_window_set(C, wm->windows.first); - BPY_run_python_script(C, argv[1], NULL, NULL); // use reports? + BPY_run_python_script(C, filename, NULL, NULL); // use reports? CTX_wm_window_set(C, prevwin); } else { fprintf(stderr, "Python script \"%s\" running with missing context data.\n", argv[1]); - BPY_run_python_script(C, argv[1], NULL, NULL); // use reports? + BPY_run_python_script(C, filename, NULL, NULL); // use reports? } return 1; } else { @@ -805,12 +811,11 @@ static int load_file(int argc, char **argv, void *data) /* Make the path absolute because its needed for relative linked blends to be found */ char filename[FILE_MAXDIR + FILE_MAXFILE]; - BLI_strncpy(filename, argv[0], sizeof(filename)); BLI_convertstringcwd(filename); if (G.background) { - int retval = BKE_read_file(C, argv[0], NULL, NULL); + int retval = BKE_read_file(C, filename, NULL, NULL); /*we successfully loaded a blend file, get sure that pointcache works */ @@ -948,7 +953,7 @@ int main(int argc, char **argv) /* first test for background */ - G.f |= G_DOSCRIPTLINKS; /* script links enabled by default */ + G.f |= G_SCRIPT_AUTOEXEC; /* script links enabled by default */ ba = BLI_argsInit(argc, argv); /* skip binary path */ setupArguments(C, ba, &syshandle); |