fix for running blender as a python module - dont parse args from python.

This commit is contained in:
2012-06-15 21:19:05 +00:00
parent 606d76f07d
commit a2d4fddfd3

View File

@@ -145,8 +145,10 @@ extern char build_system[];
#endif
/* Local Function prototypes */
#ifndef WITH_PYTHON_MODULE
static int print_help(int argc, const char **argv, void *data);
static int print_version(int argc, const char **argv, void *data);
#endif
/* for the callbacks: */
@@ -157,6 +159,8 @@ static int print_version(int argc, const char **argv, void *data);
/* Initialize callbacks for the modules that need them */
static void setCallbacks(void);
#ifndef WITH_PYTHON_MODULE
/* set breakpoints here when running in debug mode, useful to catch floating point errors */
#if defined(__linux__) || defined(_WIN32) || defined(OSX_SSE_FPE)
static void fpe_handler(int UNUSED(sig))
@@ -165,7 +169,6 @@ static void fpe_handler(int UNUSED(sig))
}
#endif
#ifndef WITH_PYTHON_MODULE
/* handling ctrl-c event in console */
static void blender_esc(int sig)
{
@@ -182,7 +185,6 @@ static void blender_esc(int sig)
count++;
}
}
#endif
static int print_version(int UNUSED(argc), const char **UNUSED(argv), void *UNUSED(data))
{
@@ -972,7 +974,6 @@ static int set_addons(int argc, const char **argv, void *data)
}
}
static int load_file(int UNUSED(argc), const char **argv, void *data)
{
bContext *C = data;
@@ -1171,6 +1172,7 @@ static void setupArguments(bContext *C, bArgs *ba, SYS_SystemHandle *syshandle)
BLI_argsAdd(ba, 4, "-x", "--use-extension", "<bool>\n\tSet option to add the file extension to the end of the file", set_extension, C);
}
#endif /* WITH_PYTHON_MODULE */
#ifdef WITH_PYTHON_MODULE
/* allow python module to call main */
@@ -1191,9 +1193,12 @@ int main(int argc, const char **UNUSED(argv_c)) /* Do not mess with const */
int main(int argc, const char **argv)
#endif
{
SYS_SystemHandle syshandle;
bContext *C = CTX_create();
SYS_SystemHandle syshandle;
#ifndef WITH_PYTHON_MODULE
bArgs *ba;
#endif
#ifdef WIN32
wchar_t **argv_16 = CommandLineToArgvW(GetCommandLineW(), &argc);
@@ -1268,10 +1273,12 @@ int main(int argc, const char **argv)
#endif
/* first test for background */
#ifndef WITH_PYTHON_MODULE
ba = BLI_argsInit(argc, (const char **)argv); /* skip binary path */
setupArguments(C, ba, &syshandle);
BLI_argsParse(ba, 1, NULL, NULL);
#endif
#if defined(WITH_PYTHON_MODULE) || defined(WITH_HEADLESS)
G.background = 1; /* python module mode ALWAYS runs in background mode (for now) */
@@ -1290,9 +1297,10 @@ int main(int argc, const char **argv)
init_def_material();
if (G.background == 0) {
#ifndef WITH_PYTHON_MODULE
BLI_argsParse(ba, 2, NULL, NULL);
BLI_argsParse(ba, 3, NULL, NULL);
#endif
WM_init(C, argc, (const char **)argv);
/* this is properly initialized with user defs, but this is default */
@@ -1304,7 +1312,9 @@ int main(int argc, const char **argv)
#endif
}
else {
#ifndef WITH_PYTHON_MODULE
BLI_argsParse(ba, 3, NULL, NULL);
#endif
WM_init(C, argc, (const char **)argv);
@@ -1328,9 +1338,13 @@ int main(int argc, const char **argv)
WM_keymap_init(C);
/* OK we are ready for it */
#ifndef WITH_PYTHON_MODULE
BLI_argsParse(ba, 4, load_file, C);
#endif
#ifndef WITH_PYTHON_MODULE
BLI_argsFree(ba);
#endif
#ifdef WIN32
while (argci) {