[Bf-blender-cvs] [893aac1] master: Cleanup: remove inline list-count

Campbell Barton noreply at git.blender.org
Tue Nov 11 19:33:23 CET 2014


Commit: 893aac18c65ba057170bddf693b3546338331a58
Author: Campbell Barton
Date:   Tue Nov 11 19:32:46 2014 +0100
Branches: master
https://developer.blender.org/rB893aac18c65ba057170bddf693b3546338331a58

Cleanup: remove inline list-count

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

M	source/blender/blenkernel/BKE_scene.h
M	source/blender/blenkernel/intern/scene.c

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

diff --git a/source/blender/blenkernel/BKE_scene.h b/source/blender/blenkernel/BKE_scene.h
index efcd00b..eac4f6a 100644
--- a/source/blender/blenkernel/BKE_scene.h
+++ b/source/blender/blenkernel/BKE_scene.h
@@ -110,7 +110,7 @@ char *BKE_scene_find_marker_name(struct Scene *scene, int frame);
 char *BKE_scene_find_last_marker_name(struct Scene *scene, int frame);
 
 /* checks for cycle, returns 1 if it's all OK */
-int BKE_scene_validate_setscene(struct Main *bmain, struct Scene *sce);
+bool BKE_scene_validate_setscene(struct Main *bmain, struct Scene *sce);
 
 float BKE_scene_frame_get(struct Scene *scene);
 float BKE_scene_frame_get_from_ctime(struct Scene *scene, const float frame);
diff --git a/source/blender/blenkernel/intern/scene.c b/source/blender/blenkernel/intern/scene.c
index d957507..45d8831 100644
--- a/source/blender/blenkernel/intern/scene.c
+++ b/source/blender/blenkernel/intern/scene.c
@@ -1096,18 +1096,15 @@ void BKE_scene_base_select(Scene *sce, Base *selbase)
 }
 
 /* checks for cycle, returns 1 if it's all OK */
-int BKE_scene_validate_setscene(Main *bmain, Scene *sce)
+bool BKE_scene_validate_setscene(Main *bmain, Scene *sce)
 {
-	Scene *scene;
+	Scene *sce_iter;
 	int a, totscene;
-	
+
 	if (sce->set == NULL) return 1;
+	totscene = BLI_countlist(&bmain->scene);
 	
-	totscene = 0;
-	for (scene = bmain->scene.first; scene; scene = scene->id.next)
-		totscene++;
-	
-	for (a = 0, scene = sce; scene->set; scene = scene->set, a++) {
+	for (a = 0, sce_iter = sce; sce_iter->set; sce_iter = sce_iter->set, a++) {
 		/* more iterations than scenes means we have a cycle */
 		if (a > totscene) {
 			/* the tested scene gets zero'ed, that's typically current scene */




More information about the Bf-blender-cvs mailing list