Welcome to mirror list, hosted at ThFree Co, Russian Federation.

git.blender.org/blender.git - Unnamed repository; edit this file 'description' to name the repository.
summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorDalai Felinto <dfelinto@gmail.com>2017-02-09 17:26:28 +0300
committerDalai Felinto <dfelinto@gmail.com>2017-02-09 17:26:28 +0300
commitff4dc7abfad6f4dc0f14ae158544f69ee981b7fe (patch)
tree5069aae1901aef4cee4750dc8e1c322538139701
parent0b473168cd291615d81ad31ce8254a90ce4f2738 (diff)
Change ITER_BEGIN to work in C++ (include object type in the macro)
-rw-r--r--source/blender/blenkernel/BKE_collection.h4
-rw-r--r--source/blender/blenkernel/BKE_layer.h8
-rw-r--r--source/blender/blenlib/BLI_iterator.h4
3 files changed, 8 insertions, 8 deletions
diff --git a/source/blender/blenkernel/BKE_collection.h b/source/blender/blenkernel/BKE_collection.h
index c3f461dacd6..90904cdfddd 100644
--- a/source/blender/blenkernel/BKE_collection.h
+++ b/source/blender/blenkernel/BKE_collection.h
@@ -70,7 +70,7 @@ void BKE_scene_objects_Iterator_end(struct Iterator *iter);
ITER_BEGIN(BKE_scene_collections_Iterator_begin, \
BKE_scene_collections_Iterator_next, \
BKE_scene_collections_Iterator_end, \
- scene, _sc)
+ scene, SceneCollection, _sc)
#define FOREACH_SCENE_COLLECTION_END \
ITER_END
@@ -79,7 +79,7 @@ void BKE_scene_objects_Iterator_end(struct Iterator *iter);
ITER_BEGIN(BKE_scene_objects_Iterator_begin, \
BKE_scene_objects_Iterator_next, \
BKE_scene_objects_Iterator_end, \
- scene, _ob)
+ scene, Object, _ob)
#define FOREACH_SCENE_OBJECT_END \
ITER_END
diff --git a/source/blender/blenkernel/BKE_layer.h b/source/blender/blenkernel/BKE_layer.h
index 51fe28a8bea..9bee353bb3a 100644
--- a/source/blender/blenkernel/BKE_layer.h
+++ b/source/blender/blenkernel/BKE_layer.h
@@ -138,7 +138,7 @@ void BKE_visible_bases_Iterator_end(Iterator *iter);
ITER_BEGIN(BKE_selected_objects_Iterator_begin, \
BKE_selected_objects_Iterator_next, \
BKE_selected_objects_Iterator_end, \
- sl, _ob)
+ sl, Object, _ob)
#define FOREACH_SELECTED_OBJECT_END \
ITER_END
@@ -147,7 +147,7 @@ void BKE_visible_bases_Iterator_end(Iterator *iter);
ITER_BEGIN(BKE_visible_objects_Iterator_begin, \
BKE_visible_objects_Iterator_next, \
BKE_visible_objects_Iterator_end, \
- sl, _ob)
+ sl, Object, _ob)
#define FOREACH_VISIBLE_OBJECT_END \
ITER_END
@@ -157,7 +157,7 @@ void BKE_visible_bases_Iterator_end(Iterator *iter);
ITER_BEGIN(BKE_visible_bases_Iterator_begin, \
BKE_visible_bases_Iterator_next, \
BKE_visible_bases_Iterator_end, \
- sl, _object_base)
+ sl, Base, _object_base)
#define FOREACH_VISIBLE_BASE_END \
ITER_END
@@ -191,7 +191,7 @@ void BKE_visible_bases_Iterator_end(Iterator *iter);
func_end = BKE_scene_objects_Iterator_end; \
data_in = scene; \
} \
- ITER_BEGIN(func_begin, func_next, func_end, data_in, _ob)
+ ITER_BEGIN(func_begin, func_next, func_end, data_in, Object, _ob)
#define FOREACH_OBJECT_FLAG_END \
diff --git a/source/blender/blenlib/BLI_iterator.h b/source/blender/blenlib/BLI_iterator.h
index cfa303bb1cd..d154b81ac82 100644
--- a/source/blender/blenlib/BLI_iterator.h
+++ b/source/blender/blenlib/BLI_iterator.h
@@ -36,7 +36,7 @@ typedef struct Iterator {
typedef void (*IteratorCb)(Iterator *iter);
typedef void (*IteratorBeginCb)(Iterator *iter, void *data_in);
-#define ITER_BEGIN(callback_begin, callback_next, callback_end, _data_in, _data_out) \
+#define ITER_BEGIN(callback_begin, callback_next, callback_end, _data_in, _type, _data_out) \
{ \
IteratorCb callback_end_func = callback_end; \
Iterator iter_macro; \
@@ -44,7 +44,7 @@ typedef void (*IteratorBeginCb)(Iterator *iter, void *data_in);
iter_macro.valid; \
callback_next(&iter_macro)) \
{ \
- _data_out = iter_macro.current;
+ _data_out = (_type *) iter_macro.current;
#define ITER_END \
} \