[Bf-blender-cvs] SVN commit: /data/svn/bf-blender [36742] trunk/blender/source/blender/ makesrna/intern/rna_access.c: fix a crash when getting the value of an enum .

Campbell Barton ideasman42 at gmail.com
Wed May 18 11:26:07 CEST 2011


Revision: 36742
          http://projects.blender.org/scm/viewvc.php?view=rev&root=bf-blender&revision=36742
Author:   campbellbarton
Date:     2011-05-18 09:26:07 +0000 (Wed, 18 May 2011)
Log Message:
-----------
fix a crash when getting the value of an enum.

Modified Paths:
--------------
    trunk/blender/source/blender/makesrna/intern/rna_access.c

Modified: trunk/blender/source/blender/makesrna/intern/rna_access.c
===================================================================
--- trunk/blender/source/blender/makesrna/intern/rna_access.c	2011-05-18 09:07:15 UTC (rev 36741)
+++ trunk/blender/source/blender/makesrna/intern/rna_access.c	2011-05-18 09:26:07 UTC (rev 36742)
@@ -1107,21 +1107,26 @@
 {	
 	EnumPropertyItem *item, *item_array;
 	int free, found;
-	
+
 	RNA_property_enum_items(C, ptr, prop, &item_array, NULL, &free);
-	
-	for(item= item_array; item->identifier; item++) {
-		if(item->identifier[0] && strcmp(item->identifier, identifier)==0) {
-			*value = item->value;
-			break;
+
+	if(item_array) {
+		for(item= item_array; item->identifier; item++) {
+			if(item->identifier[0] && strcmp(item->identifier, identifier)==0) {
+				*value = item->value;
+				break;
+			}
 		}
-	}
-	
-	found= (item->identifier != NULL); /* could be alloc'd, assign before free */
 
-	if(free)
-		MEM_freeN(item_array);
+		found= (item->identifier != NULL); /* could be alloc'd, assign before free */
 
+		if(free) {
+			MEM_freeN(item_array);
+		}
+	}
+	else {
+		found= 0;
+	}
 	return found;
 }
 




More information about the Bf-blender-cvs mailing list