[Bf-blender-cvs] SVN commit: /data/svn/bf-blender [28418] trunk/blender/source/blender/ python/intern/bpy_rna.c: [#22151] Modifier UI crash

Campbell Barton ideasman42 at gmail.com
Sun Apr 25 21:56:45 CEST 2010


Revision: 28418
          http://projects.blender.org/plugins/scmsvn/viewcvs.php?view=rev&root=bf-blender&revision=28418
Author:   campbellbarton
Date:     2010-04-25 21:56:43 +0200 (Sun, 25 Apr 2010)

Log Message:
-----------
[#22151] Modifier UI crash
own error when editing context return values. r28401

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

Modified: trunk/blender/source/blender/python/intern/bpy_rna.c
===================================================================
--- trunk/blender/source/blender/python/intern/bpy_rna.c	2010-04-25 19:27:59 UTC (rev 28417)
+++ trunk/blender/source/blender/python/intern/bpy_rna.c	2010-04-25 19:56:43 UTC (rev 28418)
@@ -2243,7 +2243,13 @@
 			if(done==1) { /* found */
 				switch(newtype) {
 				case CTX_DATA_TYPE_POINTER:
-					ret = pyrna_struct_CreatePyObject(&newptr); /* can return a bpy_struct or None */
+					if(newptr.data == NULL) {
+						ret= Py_None;
+						Py_INCREF(ret);
+					}
+					else {
+						ret= pyrna_struct_CreatePyObject(&newptr);
+					}
 					break;
 				case CTX_DATA_TYPE_COLLECTION:
 					{
@@ -3906,7 +3912,8 @@
 PyObject *pyrna_struct_CreatePyObject( PointerRNA *ptr )
 {
 	BPy_StructRNA *pyrna= NULL;
-	
+
+	/* note: don't rely on this to return None since NULL data with a valid type can often crash */
 	if (ptr->data==NULL && ptr->type==NULL) { /* Operator RNA has NULL data */
 		Py_RETURN_NONE;
 	}





More information about the Bf-blender-cvs mailing list