[Bf-blender-cvs] [7c24804d621] master: Cleanup: de-duplicate Py_DECREF when evaluating PyDrivers

Campbell Barton noreply at git.blender.org
Tue Mar 15 05:21:27 CET 2022


Commit: 7c24804d62187faf4c64f892af2a1e144ea73f72
Author: Campbell Barton
Date:   Tue Mar 15 15:06:25 2022 +1100
Branches: master
https://developer.blender.org/rB7c24804d62187faf4c64f892af2a1e144ea73f72

Cleanup: de-duplicate Py_DECREF when evaluating PyDrivers

===================================================================

M	source/blender/python/intern/bpy_driver.c

===================================================================

diff --git a/source/blender/python/intern/bpy_driver.c b/source/blender/python/intern/bpy_driver.c
index c88e42aa90f..833e4dc5df7 100644
--- a/source/blender/python/intern/bpy_driver.c
+++ b/source/blender/python/intern/bpy_driver.c
@@ -634,14 +634,15 @@ float BPY_driver_exec(struct PathResolvedRNA *anim_rna,
   if (retval == NULL) {
     pydriver_error(driver);
   }
-  else if ((result = PyFloat_AsDouble(retval)) == -1.0 && PyErr_Occurred()) {
-    pydriver_error(driver);
-    Py_DECREF(retval);
-    result = 0.0;
-  }
   else {
-    /* all fine, make sure the "invalid expression" flag is cleared */
-    driver->flag &= ~DRIVER_FLAG_INVALID;
+    if ((result = PyFloat_AsDouble(retval)) == -1.0 && PyErr_Occurred()) {
+      pydriver_error(driver);
+      result = 0.0;
+    }
+    else {
+      /* all fine, make sure the "invalid expression" flag is cleared */
+      driver->flag &= ~DRIVER_FLAG_INVALID;
+    }
     Py_DECREF(retval);
   }



More information about the Bf-blender-cvs mailing list