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

Reply via email to