[Bf-blender-cvs] SVN commit: /data/svn/bf-blender [42658] trunk/blender/source/blender/ python/intern/bpy_driver.c: fix own error [#29631] frame is lost from driver namespace after reload

Campbell Barton ideasman42 at gmail.com
Fri Dec 16 04:07:18 CET 2011


Revision: 42658
          http://projects.blender.org/scm/viewvc.php?view=rev&root=bf-blender&revision=42658
Author:   campbellbarton
Date:     2011-12-16 03:06:56 +0000 (Fri, 16 Dec 2011)
Log Message:
-----------
fix own error [#29631] frame is lost from driver namespace after reload

Modified Paths:
--------------
    trunk/blender/source/blender/python/intern/bpy_driver.c

Modified: trunk/blender/source/blender/python/intern/bpy_driver.c
===================================================================
--- trunk/blender/source/blender/python/intern/bpy_driver.c	2011-12-16 00:06:01 UTC (rev 42657)
+++ trunk/blender/source/blender/python/intern/bpy_driver.c	2011-12-16 03:06:56 UTC (rev 42658)
@@ -94,14 +94,13 @@
 
 /* note, this function should do nothing most runs, only when changing frame */
 static PyObject *bpy_pydriver_InternStr__frame= NULL;
+/* not thread safe but neither is python */
+static float bpy_pydriver_evaltime_prev= FLT_MAX;
 
 static void bpy_pydriver_update_dict(const float evaltime)
 {
-	/* not thread safe but neither is python */
-	static float evaltime_prev= FLT_MAX;
+	if (bpy_pydriver_evaltime_prev != evaltime) {
 
-	if (evaltime_prev != evaltime) {
-
 		/* currently only update the frame */
 		if (bpy_pydriver_InternStr__frame == NULL) {
 			bpy_pydriver_InternStr__frame= PyUnicode_FromString("frame");
@@ -111,7 +110,7 @@
 		               bpy_pydriver_InternStr__frame,
 		               PyFloat_FromDouble(evaltime));
 
-		evaltime_prev= evaltime;
+		bpy_pydriver_evaltime_prev= evaltime;
 	}
 }
 
@@ -137,6 +136,7 @@
 	if (bpy_pydriver_InternStr__frame) {
 		Py_DECREF(bpy_pydriver_InternStr__frame);
 		bpy_pydriver_InternStr__frame= NULL;
+		bpy_pydriver_evaltime_prev= FLT_MAX;
 	}
 
 	if (use_gil)




More information about the Bf-blender-cvs mailing list