[Bf-blender-cvs] [f47a41a3d9f] blender2.8: Cleanup: iterator macros

Campbell Barton noreply at git.blender.org
Fri Mar 9 01:45:42 CET 2018


Commit: f47a41a3d9f9850f852abb3d76bea2c8b281bb45
Author: Campbell Barton
Date:   Fri Mar 9 11:44:42 2018 +1100
Branches: blender2.8
https://developer.blender.org/rBf47a41a3d9f9850f852abb3d76bea2c8b281bb45

Cleanup: iterator macros

- put render iterator in own scope
  (would shadow it's own variable if used multiple times).
- enforce semicolon at end of iterator macros.
- no need to typedef one-off macro structs.

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

M	source/blender/blenkernel/BKE_group.h
M	source/blender/blenkernel/BKE_layer.h
M	source/blender/blenkernel/intern/collection.c
M	source/blender/blenkernel/intern/collision.c
M	source/blender/blenkernel/intern/group.c
M	source/blender/blenkernel/intern/layer.c
M	source/blender/blenkernel/intern/library_query.c
M	source/blender/blenkernel/intern/library_remap.c
M	source/blender/blenkernel/intern/object_dupli.c
M	source/blender/blenkernel/intern/particle.c
M	source/blender/blenkernel/intern/particle_system.c
M	source/blender/blenkernel/intern/rigidbody.c
M	source/blender/blenkernel/intern/scene.c
M	source/blender/blenlib/BLI_iterator.h
M	source/blender/blenloader/intern/writefile.c
M	source/blender/collada/SceneExporter.cpp
M	source/blender/depsgraph/DEG_depsgraph_query.h
M	source/blender/draw/intern/draw_manager.c
M	source/blender/editors/armature/editarmature_sketch.c
M	source/blender/editors/interface/interface_templates.c
M	source/blender/editors/object/object_add.c
M	source/blender/editors/object/object_relations.c
M	source/blender/editors/object/object_vgroup.c
M	source/blender/editors/physics/physics_pointcache.c
M	source/blender/editors/screen/screen_context.c
M	source/blender/editors/space_clip/tracking_ops_orient.c
M	source/blender/editors/space_outliner/outliner_select.c
M	source/blender/editors/space_outliner/outliner_tools.c
M	source/blender/editors/space_outliner/outliner_tree.c
M	source/blender/editors/space_view3d/view3d_ops.c
M	source/blender/freestyle/intern/blender_interface/BlenderStrokeRenderer.cpp
M	source/blender/makesrna/intern/rna_layer.c
M	source/blender/makesrna/intern/rna_object_force.c
M	source/blender/makesrna/intern/rna_scene.c
M	source/blender/modifiers/intern/MOD_fluidsim.c
M	source/blender/render/intern/include/render_result.h
M	source/blender/render/intern/source/convertblender.c
M	source/blender/render/intern/source/envmap.c
M	source/blender/render/intern/source/external_engine.c
M	source/blender/render/intern/source/pipeline.c
M	source/blender/render/intern/source/render_result.c
M	source/gameengine/Converter/BL_BlenderDataConversion.cpp
M	source/gameengine/Ketsji/KX_Scene.cpp

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

diff --git a/source/blender/blenkernel/BKE_group.h b/source/blender/blenkernel/BKE_group.h
index 6f7ced403a2..a842bec7609 100644
--- a/source/blender/blenkernel/BKE_group.h
+++ b/source/blender/blenkernel/BKE_group.h
@@ -80,6 +80,6 @@ void BKE_group_eval_view_layers(const struct EvaluationContext *eval_ctx,
 		BLI_assert(_object != NULL);
 
 #define FOREACH_GROUP_OBJECT_END                                  \
-	}
+	} ((void)0)
 
 #endif  /* __BKE_GROUP_H__ */
diff --git a/source/blender/blenkernel/BKE_layer.h b/source/blender/blenkernel/BKE_layer.h
index d9c9041f330..59aec53aa1e 100644
--- a/source/blender/blenkernel/BKE_layer.h
+++ b/source/blender/blenkernel/BKE_layer.h
@@ -245,7 +245,7 @@ void BKE_visible_bases_iterator_end(BLI_Iterator *iter);
 
 #define FOREACH_OBJECT_END                                                    \
     }                                                                         \
-}
+} ((void)0)
 
 #define FOREACH_OBJECT_FLAG_BEGIN(scene, view_layer, flag, _instance)         \
 {                                                                             \
@@ -269,10 +269,10 @@ void BKE_visible_bases_iterator_end(BLI_Iterator *iter);
 
 
 #define FOREACH_OBJECT_FLAG_END                                               \
-	ITER_END                                                                  \
-}
+	ITER_END;                                                                 \
+} ((void)0)
 
-typedef struct ObjectsRenderableIteratorData {
+struct ObjectsRenderableIteratorData {
 	struct Scene *scene;
 	struct Base base_temp;
 	struct Scene scene_temp;
@@ -282,10 +282,11 @@ typedef struct ObjectsRenderableIteratorData {
 		struct Base *base;
 		struct Scene *set;
 	} iter;
-} ObjectsRenderableIteratorData;
+};
 
 #define FOREACH_OBJECT_RENDERABLE_BEGIN(scene_, _instance)                    \
-	ObjectsRenderableIteratorData data_ = {                                   \
+{                                                                             \
+	struct ObjectsRenderableIteratorData data_ = {                                   \
 	    .scene = (scene_),                                                    \
 	};                                                                        \
 	ITER_BEGIN(BKE_renderable_objects_iterator_begin,                         \
@@ -295,7 +296,8 @@ typedef struct ObjectsRenderableIteratorData {
 
 
 #define FOREACH_OBJECT_RENDERABLE_END                                         \
-	ITER_END
+	ITER_END;                                                                 \
+} ((void)0)
 
 #ifdef __cplusplus
 }
diff --git a/source/blender/blenkernel/intern/collection.c b/source/blender/blenkernel/intern/collection.c
index ffd5aea35ea..fb27249402b 100644
--- a/source/blender/blenkernel/intern/collection.c
+++ b/source/blender/blenkernel/intern/collection.c
@@ -236,7 +236,7 @@ bool BKE_collection_remove(ID *owner_id, SceneCollection *sc)
 			link = link_next;
 		}
 	}
-	FOREACH_SCENE_COLLECTION_END
+	FOREACH_SCENE_COLLECTION_END;
 
 	for (LinkData *link = collection_objects.first; link; link = link->next) {
 		BKE_collection_object_add(owner_id, sc_master, link->data);
@@ -411,7 +411,7 @@ void BKE_collection_object_add_from(Scene *scene, Object *ob_src, Object *ob_dst
 			collection_object_add(&scene->id, sc, ob_dst);
 		}
 	}
-	FOREACH_SCENE_COLLECTION_END
+	FOREACH_SCENE_COLLECTION_END;
 
 	for (ViewLayer *view_layer = scene->view_layers.first; view_layer; view_layer = view_layer->next) {
 		Base *base_src = BKE_view_layer_base_find(view_layer, ob_src);
@@ -484,7 +484,7 @@ bool BKE_collections_object_remove(Main *bmain, ID *owner_id, Object *ob, const
 	{
 		removed |= BKE_collection_object_remove(bmain, owner_id, sc, ob, free_us);
 	}
-	FOREACH_SCENE_COLLECTION_END
+	FOREACH_SCENE_COLLECTION_END;
 	return removed;
 }
 
@@ -556,7 +556,7 @@ Group *BKE_collection_group_create(Main *bmain, Scene *scene, LayerCollection *l
 	{
 		sc_group->type = COLLECTION_TYPE_GROUP_INTERNAL;
 	}
-	FOREACH_SCENE_COLLECTION_END
+	FOREACH_SCENE_COLLECTION_END;
 
 	lc_dst = BKE_collection_link(group->view_layer, sc_dst);
 	layer_collection_sync(lc_dst, lc_src);
diff --git a/source/blender/blenkernel/intern/collision.c b/source/blender/blenkernel/intern/collision.c
index 55ded96fe01..c1872c92418 100644
--- a/source/blender/blenkernel/intern/collision.c
+++ b/source/blender/blenkernel/intern/collision.c
@@ -510,7 +510,7 @@ static void add_collision_object(Object ***objs, unsigned int *numobj, unsigned
 		{
 			add_collision_object(objs, numobj, maxobj, object, self, level+1, modifier_type);
 		}
-		FOREACH_GROUP_OBJECT_END
+		FOREACH_GROUP_OBJECT_END;
 	}
 }
 
@@ -531,7 +531,7 @@ Object **get_collisionobjects_ext(Scene *scene, Object *self, Group *group, unsi
 		{
 			add_collision_object(&objs, &numobj, &maxobj, object, self, level, modifier_type);
 		}
-		FOREACH_GROUP_OBJECT_END
+		FOREACH_GROUP_OBJECT_END;
 	}
 	else {
 		Scene *sce_iter;
@@ -588,7 +588,7 @@ static void add_collider_cache_object(ListBase **objs, Object *ob, Object *self,
 		{
 			add_collider_cache_object(objs, object, self, level+1);
 		}
-		FOREACH_GROUP_OBJECT_END
+		FOREACH_GROUP_OBJECT_END;
 	}
 }
 
@@ -602,7 +602,7 @@ ListBase *get_collider_cache(Scene *scene, Object *self, Group *group)
 		{
 			add_collider_cache_object(&objs, object, self, 0);
 		}
-		FOREACH_GROUP_OBJECT_END
+		FOREACH_GROUP_OBJECT_END;
 	}
 	else {
 		Scene *sce_iter;
diff --git a/source/blender/blenkernel/intern/group.c b/source/blender/blenkernel/intern/group.c
index c5cea750b53..c3fe586bbbb 100644
--- a/source/blender/blenkernel/intern/group.c
+++ b/source/blender/blenkernel/intern/group.c
@@ -219,7 +219,7 @@ static bool group_object_cyclic_check_internal(Object *object, Group *group)
 					return true;
 				}
 			}
-			FOREACH_GROUP_OBJECT_END
+			FOREACH_GROUP_OBJECT_END;
 		}
 
 		/* un-flag the object, it's allowed to have the same group multiple times in parallel */
@@ -284,7 +284,7 @@ bool BKE_group_is_animated(Group *group, Object *UNUSED(parent))
 			return true;
 		}
 	}
-	FOREACH_GROUP_OBJECT_END
+	FOREACH_GROUP_OBJECT_END;
 	return false;
 }
 
@@ -375,7 +375,7 @@ void BKE_group_handle_recalc_and_update(const struct EvaluationContext *eval_ctx
 				BKE_object_handle_update(eval_ctx, scene, object);
 			}
 		}
-		FOREACH_GROUP_OBJECT_END
+		FOREACH_GROUP_OBJECT_END;
 	}
 }
 
diff --git a/source/blender/blenkernel/intern/layer.c b/source/blender/blenkernel/intern/layer.c
index 82ac666c46b..cde256a0f14 100644
--- a/source/blender/blenkernel/intern/layer.c
+++ b/source/blender/blenkernel/intern/layer.c
@@ -2137,7 +2137,7 @@ void BKE_visible_bases_iterator_end(BLI_Iterator *UNUSED(iter))
 
 void BKE_renderable_objects_iterator_begin(BLI_Iterator *iter, void *data_in)
 {
-	ObjectsRenderableIteratorData *data = data_in;
+	struct ObjectsRenderableIteratorData *data = data_in;
 
 	/* Tag objects to prevent going over the same object twice. */
 	for (Scene *scene = data->scene; scene; scene = scene->set) {
@@ -2165,7 +2165,7 @@ void BKE_renderable_objects_iterator_next(BLI_Iterator *iter)
 	/* Set it early in case we need to exit and we are running from within a loop. */
 	iter->skip = true;
 
-	ObjectsRenderableIteratorData *data = iter->data;
+	struct ObjectsRenderableIteratorData *data = iter->data;
 	Base *base = data->iter.base->next;
 
 	/* There is still a base in the current scene layer. */
diff --git a/source/blender/blenkernel/intern/library_query.c b/source/blender/blenkernel/intern/library_query.c
index 2a5c8f955ab..27a2916ef92 100644
--- a/source/blender/blenkernel/intern/library_query.c
+++ b/source/blender/blenkernel/intern/library_query.c
@@ -446,7 +446,7 @@ void BKE_library_foreach_ID_link(Main *bmain, ID *id, LibraryIDLinkCallback call
 						CALLBACK_INVOKE_ID(link->data, IDWALK_CB_USER);
 					}
 				}
-				FOREACH_SCENE_COLLECTION_END
+				FOREACH_SCENE_COLLECTION_END;
 
 				ViewLayer *view_layer;
 				for (view_layer = scene->view_layers.first; view_layer; view_layer = view_layer->next) {
diff --git a/source/blender/blenkernel/intern/library_remap.c b/source/blender/blenkernel/intern/library_remap.c
index 46f5e427a40..483500cf67d 100644
--- a/source/blender/blenkernel/intern/library_remap.c
+++ b/source/blender/blenkernel/intern/library_remap.c
@@ -320,7 +320,7 @@ static void libblock_remap_data_preprocess(IDRemap *r_id_remap_data)
 						libblock_remap_data_preprocess_group_unlink(
 						            r_id_remap_data, ob_iter, skip_indirect, is_indirect);
 					}
-					FOREACH_SCENE_OBJECT_END
+					FOREACH_SCENE_OBJECT_END;
 				}
 				else if (GS(r_id_remap_data->old_id->name) == ID_OB) {
 					/* ... a specific object from scene. */
@@ -405,7 +405,7 @@ static void libblock_remap_data_postprocess_group_scene_unlink(Main *UNUSED(bmai
 			}
 		}
 	}
-	FOREACH_SCENE_OBJECT_END
+	FOREACH_SCENE_OBJECT_END;
 }
 
 static void libblock_remap_data_postprocess_obdata_relink(Main *UNUSED(bmain), Object *ob, ID *new_id)
diff --git a/source/blender/blenkernel/intern/object_dupli.c b/source/blender/blenkernel/intern/object_dupli.c
index 391be751ae0..7419efba065 100644
--- a/source/blender/blenkernel/intern/object_dupli.c
+++ b/source/blender/blenkernel/intern/object_dupli.c
@@ -937,7 +937,7 @@ static void make_duplis_particle_system(const DupliContext *ctx, ParticleSystem
 					(void) object;
 					totgroup++;
 				}
-				FOREACH_GROUP_OBJECT_END
+				FOREACH_GROUP_OBJECT_END;
 			}
 
 			/* we also copy the actual objects to restore afterwards, since
@@ -967,7 +967,7 @@ static void make_duplis_particle_system(const DupliContext *ctx, ParticleSystem
 						continue;
 					}
 				}
-				FOREACH_GROUP_OBJECT_END
+				FOREACH_GROUP_OBJECT_END;
 			}
 		}
 		else {
@@ -1082,7 +1082,7 @@ static void make_duplis_particle_system(const DupliContext *ctx, ParticleSystem
 
 					b++;
 				}
-				FOREACH_GROUP_OBJECT_END
+				FOREACH_GROUP_OBJECT_END;
 			}
 			else {
 				/* to give ipos in object correct offset */
diff --git a/source/blender/blenkernel/intern/particle.c b/source/blender/blenkernel/intern/particle.c
index e90fa299f44..94f37c3e02c 100644
--- a/source/blender/blenkernel/intern/particle.c
+++ b/source/blender/blenkernel/intern/particle.c
@@ -365,7 +365,7 @@

@@ Diff output truncated at 10240 characters. @@



More information about the Bf-blender-cvs mailing list