Commit: 87d5e34453249fbf53d22b63c4f2442e3f8ec32e
Author: Campbell Barton
Date: Sat Jul 29 02:39:16 2017 +1000
Branches: master
https://developer.blender.org/rB87d5e34453249fbf53d22b63c4f2442e3f8ec32e
Fix T52213: Enum drivers no longer work
Regression in D1812: PyDriver variables as Objects
Taking the Python representation is nice in general
but for enums it would convert them into strings,
breaking some existing drivers.
===================================================================
M source/blender/python/intern/bpy_rna_driver.c
===================================================================
diff --git a/source/blender/python/intern/bpy_rna_driver.c
b/source/blender/python/intern/bpy_rna_driver.c
index b4c0de51c04..1135ba121e3 100644
--- a/source/blender/python/intern/bpy_rna_driver.c
+++ b/source/blender/python/intern/bpy_rna_driver.c
@@ -63,7 +63,15 @@ PyObject *pyrna_driver_get_variable_value(
}
else {
/* object & property */
- driver_arg = pyrna_prop_to_py(&ptr, prop);
+ PropertyType type = RNA_property_type(prop);
+ if (type == PROP_ENUM) {
+ /* Note that enum's are converted to
strings by default,
+ * we want to avoid that, see: T52213 */
+ driver_arg =
PyLong_FromLong(RNA_property_enum_get(&ptr, prop));
+ }
+ else {
+ driver_arg = pyrna_prop_to_py(&ptr,
prop);
+ }
}
}
else {
_______________________________________________
Bf-blender-cvs mailing list
[email protected]
https://lists.blender.org/mailman/listinfo/bf-blender-cvs