[Bf-blender-cvs] [cd9821c] tmp-id-users: de-duplicate some checks

Campbell Barton noreply at git.blender.org
Wed Jan 6 18:08:44 CET 2016


Commit: cd9821c9e9d85d447a5c5373cb82d35ef6dd0cfc
Author: Campbell Barton
Date:   Thu Jan 7 04:01:39 2016 +1100
Branches: tmp-id-users
https://developer.blender.org/rBcd9821c9e9d85d447a5c5373cb82d35ef6dd0cfc

de-duplicate some checks

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

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

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

diff --git a/source/blender/python/intern/bpy_rna_id_collection.c b/source/blender/python/intern/bpy_rna_id_collection.c
index ad5eb0b..16e2f38 100644
--- a/source/blender/python/intern/bpy_rna_id_collection.c
+++ b/source/blender/python/intern/bpy_rna_id_collection.c
@@ -75,28 +75,26 @@ static bool foreach_libblock_id_user_map_callback(void *user_data, ID **id_p, in
 		 */
 		RNA_id_pointer_create(*id_p, &((BPy_StructRNA *)key)->ptr);
 
-		if (data->is_subset) {
-			if ((set = PyDict_GetItem(data->user_map, key))) {
-				if (data->py_id_curr == NULL) {
-					data->py_id_curr = pyrna_id_CreatePyObject(data->id_curr);
-				}
-				PySet_Add(set, data->py_id_curr);
+		if ((set = PyDict_GetItem(data->user_map, key)) == NULL) {
+
+			/* limit to key's added already */
+			if (data->is_subset) {
+				return true;
 			}
+
+			/* Cannot use our placeholder key here! */
+			key = pyrna_id_CreatePyObject(*id_p);
+			set = PySet_New(NULL);
+			PyDict_SetItem(data->user_map, key, set);
+			Py_DECREF(set);
+			Py_DECREF(key);
 		}
-		else {
-			if ((set = PyDict_GetItem(data->user_map, key)) == NULL) {
-				/* Cannot use our placeholder key here! */
-				key = pyrna_id_CreatePyObject(*id_p);
-				set = PySet_New(NULL);
-				PyDict_SetItem(data->user_map, key, set);
-				Py_DECREF(set);
-				Py_DECREF(key);
-			}
-			if (data->py_id_curr == NULL) {
-				data->py_id_curr = pyrna_id_CreatePyObject(data->id_curr);
-			}
-			PySet_Add(set, data->py_id_curr);
+
+		if (data->py_id_curr == NULL) {
+			data->py_id_curr = pyrna_id_CreatePyObject(data->id_curr);
 		}
+
+		PySet_Add(set, data->py_id_curr);
 	}
 
 	return true;




More information about the Bf-blender-cvs mailing list