Revision: 15080
http://projects.blender.org/plugins/scmsvn/viewcvs.php?view=rev&root=bf-blender&revision=15080
Author: campbellbarton
Date: 2008-06-01 18:13:04 +0200 (Sun, 01 Jun 2008)
Log Message:
-----------
functionality fix
Originally the only way to run scripts automatically was with scriptlinks,
which could be disabled for loading untrusted blend files.
Since then PyDrivers and PyConstraints would run even when G.f&G_DOSCRIPTLINKS
was disabled.
Gensher, Theeth and Ianwill agree its acceptable to reuse the flag for other
areas python runs automatically.
PyNodes still have no way to be disabled, (todo before 2.46a)
Modified Paths:
--------------
trunk/blender/source/blender/blenkernel/intern/constraint.c
trunk/blender/source/blender/python/BPY_interface.c
trunk/blender/source/creator/creator.c
Modified: trunk/blender/source/blender/blenkernel/intern/constraint.c
===================================================================
--- trunk/blender/source/blender/blenkernel/intern/constraint.c 2008-06-01
15:38:46 UTC (rev 15079)
+++ trunk/blender/source/blender/blenkernel/intern/constraint.c 2008-06-01
16:13:04 UTC (rev 15080)
@@ -1882,7 +1882,7 @@
{
bPythonConstraint *data= con->data;
- if (VALID_CONS_TARGET(ct)) {
+ if ((G.f & G_DOSCRIPTLINKS) && VALID_CONS_TARGET(ct)) {
/* special exception for curves - depsgraph issues */
if (ct->tar->type == OB_CURVE) {
Curve *cu= ct->tar->data;
@@ -1906,6 +1906,8 @@
{
bPythonConstraint *data= con->data;
+ if ((G.f & G_DOSCRIPTLINKS)==0) return;
+
/* currently removed, until I this can be re-implemented for multiple targets
*/
#if 0
/* Firstly, run the 'driver' function which has direct access to the
objects involved
Modified: trunk/blender/source/blender/python/BPY_interface.c
===================================================================
--- trunk/blender/source/blender/python/BPY_interface.c 2008-06-01 15:38:46 UTC
(rev 15079)
+++ trunk/blender/source/blender/python/BPY_interface.c 2008-06-01 16:13:04 UTC
(rev 15080)
@@ -1222,7 +1222,7 @@
{
PyObject *d, *mod;
- if (bpy_pydriver_Dict) return -1;
+ if (bpy_pydriver_Dict || (G.f&G_DOSCRIPTLINKS)==0) return -1;
d = PyDict_New();
if (!d) return -1;
@@ -1998,7 +1998,7 @@
int setitem_retval;
PyGILState_STATE gilstate;
- if (!driver) return result;
+ if (!driver || (G.f&G_DOSCRIPTLINKS)==0) return result;
expr = driver->name; /* the py expression to be evaluated */
if (!expr || expr[0]=='\0') return result;
Modified: trunk/blender/source/creator/creator.c
===================================================================
--- trunk/blender/source/creator/creator.c 2008-06-01 15:38:46 UTC (rev
15079)
+++ trunk/blender/source/creator/creator.c 2008-06-01 16:13:04 UTC (rev
15080)
@@ -219,7 +219,7 @@
printf (" -d\t\tTurn debugging on\n");
printf (" -noaudio\tDisable audio on systems that support audio\n");
printf (" -h\t\tPrint this help text\n");
- printf (" -y\t\tDisable script links, use -Y to find out why its
-y\n");
+ printf (" -y\t\tDisable automatic python script execution
(scriptlinks, pydrivers, pyconstraints, pynodes)\n");
printf (" -P <filename>\tRun the given Python script (filename or
Blender Text)\n");
#ifdef WIN32
printf (" -R\t\tRegister .blend extension\n");
_______________________________________________
Bf-blender-cvs mailing list
[email protected]
http://lists.blender.org/mailman/listinfo/bf-blender-cvs