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)
This commit is contained in:
@@ -1882,7 +1882,7 @@ static void pycon_get_tarmat (bConstraint *con, bConstraintOb *cob, bConstraintT
|
||||
{
|
||||
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 @@ static void pycon_evaluate (bConstraint *con, bConstraintOb *cob, ListBase *targ
|
||||
{
|
||||
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
|
||||
|
||||
@@ -1222,7 +1222,7 @@ static int bpy_pydriver_create_dict(void)
|
||||
{
|
||||
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 @@ float BPY_pydriver_eval(IpoDriver *driver)
|
||||
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;
|
||||
|
||||
@@ -219,7 +219,7 @@ static void print_help(void)
|
||||
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");
|
||||
|
||||
Reference in New Issue
Block a user