[Bf-blender-cvs] [8cc8aad4f9e] blender2.8: Scene object iterator: minor optimization

Campbell Barton noreply at git.blender.org
Mon Jun 26 23:27:02 CEST 2017


Commit: 8cc8aad4f9eed754c90f17c18a1fc0e9e5689ab3
Author: Campbell Barton
Date:   Tue Jun 27 07:27:33 2017 +1000
Branches: blender2.8
https://developer.blender.org/rB8cc8aad4f9eed754c90f17c18a1fc0e9e5689ab3

Scene object iterator: minor optimization

Avoid an extra hash when adding to gset

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

M	source/blender/blenkernel/intern/collection.c

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

diff --git a/source/blender/blenkernel/intern/collection.c b/source/blender/blenkernel/intern/collection.c
index 3bf3a5ce5a4..caaf482736b 100644
--- a/source/blender/blenkernel/intern/collection.c
+++ b/source/blender/blenkernel/intern/collection.c
@@ -597,8 +597,9 @@ static LinkData *object_base_unique(GSet *gs, LinkData *link)
 {
 	for (; link != NULL; link = link->next) {
 		Object *ob = link->data;
-		if (!BLI_gset_haskey(gs, ob)) {
-			BLI_gset_add(gs, ob);
+		void **ob_key_p;
+		if (!BLI_gset_ensure_p_ex(gs, ob, &ob_key_p)) {
+			*ob_key_p = ob;
 			return link;
 		}
 	}




More information about the Bf-blender-cvs mailing list