[Bf-blender-cvs] SVN commit: /data/svn/bf-blender [50513] trunk/blender/source/blender/ python/intern/bpy_interface.c: fix for a bug running a script, then opening a new file.

Campbell Barton ideasman42 at gmail.com
Tue Sep 11 01:32:47 CEST 2012


Revision: 50513
          http://projects.blender.org/scm/viewvc.php?view=rev&root=bf-blender&revision=50513
Author:   campbellbarton
Date:     2012-09-10 23:32:46 +0000 (Mon, 10 Sep 2012)
Log Message:
-----------
fix for a bug running a script, then opening a new file.

BPY_text_free_code() could run outside the python interpreter which abort()'s blender.

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

Modified: trunk/blender/source/blender/python/intern/bpy_interface.c
===================================================================
--- trunk/blender/source/blender/python/intern/bpy_interface.c	2012-09-10 22:43:36 UTC (rev 50512)
+++ trunk/blender/source/blender/python/intern/bpy_interface.c	2012-09-10 23:32:46 UTC (rev 50513)
@@ -163,8 +163,17 @@
 void BPY_text_free_code(Text *text)
 {
 	if (text->compiled) {
+		PyGILState_STATE gilstate;
+		int use_gil = !PYC_INTERPRETER_ACTIVE;
+
+		if (use_gil)
+			gilstate = PyGILState_Ensure();
+
 		Py_DECREF((PyObject *)text->compiled);
 		text->compiled = NULL;
+
+		if (use_gil)
+			PyGILState_Release(gilstate);
 	}
 }
 




More information about the Bf-blender-cvs mailing list