[Bf-blender-cvs] SVN commit: /data/svn/bf-blender [26330] trunk/blender/source/creator/ creator.c: workaround for running python scripts before the contexts values are set.
Campbell Barton
ideasman42 at gmail.com
Wed Jan 27 12:18:55 CET 2010
Revision: 26330
http://projects.blender.org/plugins/scmsvn/viewcvs.php?view=rev&root=bf-blender&revision=26330
Author: campbellbarton
Date: 2010-01-27 12:18:55 +0100 (Wed, 27 Jan 2010)
Log Message:
-----------
workaround for running python scripts before the contexts values are set.
not happy with this but running python scripts with the -P command line could crash in simple cases (like selecting an object).
Modified Paths:
--------------
trunk/blender/source/creator/creator.c
Modified: trunk/blender/source/creator/creator.c
===================================================================
--- trunk/blender/source/creator/creator.c 2010-01-27 10:54:11 UTC (rev 26329)
+++ trunk/blender/source/creator/creator.c 2010-01-27 11:18:55 UTC (rev 26330)
@@ -707,10 +707,26 @@
case 'P':
#ifndef DISABLE_PYTHON
- //XXX
- // FOR TESTING ONLY
a++;
- BPY_run_python_script(C, argv[a], NULL, NULL); // use reports?
+
+ /* workaround for scripts not getting a bpy.context.scene, causes internal errors elsewhere */
+ {
+ /* XXX, temp setting the WM is ugly, splash also does this :S */
+ wmWindowManager *wm= CTX_wm_manager(C);
+ wmWindow *prevwin= CTX_wm_window(C);
+
+ if(wm->windows.first) {
+ CTX_wm_window_set(C, wm->windows.first);
+
+ BPY_run_python_script(C, argv[a], NULL, NULL); // use reports?
+
+ CTX_wm_window_set(C, prevwin);
+ }
+ else {
+ fprintf(stderr, "Python script \"%s\" running with missing context data.\n", argv[a]);
+ BPY_run_python_script(C, argv[a], NULL, NULL); // use reports?
+ }
+ }
#if 0
a++;
if (a < argc) {
More information about the Bf-blender-cvs
mailing list