== PyNodes ==
More bug fixing, reports by Juho (bebraw) Vepsalainen (thanks!) #10340: a recent fix I made broke handling of pynodes with buggy scripts when loaded from a .blend. (This may have been the reason for #10341, too, caused by saving buggy typeinfo.) http://projects.blender.org/tracker/?func=detail&atid=125&aid=10340&group_id=9
This commit is contained in:
@@ -160,11 +160,11 @@ static void node_dynamic_free_storage_cb(bNode *node)
|
||||
}
|
||||
|
||||
/* Disable pynode when its script fails */
|
||||
/*static void node_dynamic_disable(bNode *node)
|
||||
static void node_dynamic_disable(bNode *node)
|
||||
{
|
||||
node->custom1 = 0;
|
||||
node->custom1 = BSET(node->custom1, NODE_DYNAMIC_ERROR);
|
||||
}*/
|
||||
}
|
||||
|
||||
/* Disable all pynodes using the given text (script) id */
|
||||
static void node_dynamic_disable_all_by_id(ID *id)
|
||||
@@ -401,7 +401,11 @@ static int node_dynamic_parse(struct bNode *node)
|
||||
MEM_freeN(buf);
|
||||
|
||||
if (!pyresult) {
|
||||
if (BTST(node->custom1, NODE_DYNAMIC_LOADED)) {
|
||||
node_dynamic_disable(node);
|
||||
} else {
|
||||
node_dynamic_disable_all_by_id(node->id);
|
||||
}
|
||||
node_dynamic_pyerror_print(node);
|
||||
PyGILState_Release(gilstate);
|
||||
return -1;
|
||||
|
||||
Reference in New Issue
Block a user