diff options
Diffstat (limited to 'source/creator/creator.c')
-rw-r--r-- | source/creator/creator.c | 21 |
1 files changed, 13 insertions, 8 deletions
diff --git a/source/creator/creator.c b/source/creator/creator.c index 65610ea9b70..f9aea0af301 100644 --- a/source/creator/creator.c +++ b/source/creator/creator.c @@ -403,25 +403,30 @@ int main(int argc, * (such as '--version' & '--help') don't report leaks. */ MEM_use_memleak_detection(false); - BLI_argsParse(ba, 1, NULL, NULL); - - main_signal_setup(); + /* Parse environment handling arguments. */ + BLI_argsParse(ba, 0, NULL, NULL); #else /* Using preferences or user startup makes no sense for #WITH_PYTHON_MODULE. */ G.factory_startup = true; #endif - /* After parsing the first level of arguments as `--env-*` impact BKE_appdir behavior. */ + /* After parsing '0' level args such as `--env-*`, since they impact `BKE_appdir` behavior. */ BKE_appdir_init(); + /* Initialize sub-systems that use `BKE_appdir.h`. */ + IMB_init(); + +#ifndef WITH_PYTHON_MODULE + /* First test for background-mode (#Global.background) */ + BLI_argsParse(ba, 1, NULL, NULL); + + main_signal_setup(); +#endif + /* After parsing number of threads argument. */ BLI_task_scheduler_init(); - /* After parsing `--env-system-datafiles` which control where paths are searched - * (color-management) uses BKE_appdir to initialize. */ - IMB_init(); - #ifdef WITH_FFMPEG IMB_ffmpeg_init(); #endif |