Commit: 3bdd555159a79e1c533068c6e75d7f7f23b8cff9
Author: Dalai Felinto
Date: Tue Jan 3 18:02:58 2017 +0100
Branches: render-layers
https://developer.blender.org/rB3bdd555159a79e1c533068c6e75d7f7f23b8cff9
Massive fixup on BLI_iterator and the iterators using it
===================================================================
M source/blender/blenkernel/BKE_collection.h
M source/blender/blenkernel/intern/collection.c
M source/blender/blenlib/BLI_iterator.h
===================================================================
diff --git a/source/blender/blenkernel/BKE_collection.h
b/source/blender/blenkernel/BKE_collection.h
index 267e621..5f09ad9 100644
--- a/source/blender/blenkernel/BKE_collection.h
+++ b/source/blender/blenkernel/BKE_collection.h
@@ -75,9 +75,9 @@ void BKE_scene_objects_Iterator_end(struct Iterator *iter);
#define FOREACH_SCENE_OBJECT(scene, _ob) \
ITER_BEGIN(BKE_scene_objects_Iterator_begin,
\
- BKE_scene_objects_Iterator_next,
\
- BKE_scene_objects_Iterator_end,
\
- scene, _ob)
+ BKE_scene_objects_Iterator_next,
\
+ BKE_scene_objects_Iterator_end,
\
+ scene, _ob)
#define FOREACH_SCENE_OBJECT_END \
ITER_END
diff --git a/source/blender/blenkernel/intern/collection.c
b/source/blender/blenkernel/intern/collection.c
index d1a23da..853e8df 100644
--- a/source/blender/blenkernel/intern/collection.c
+++ b/source/blender/blenkernel/intern/collection.c
@@ -345,6 +345,10 @@ void BKE_scene_objects_Iterator_begin(Iterator *iter, void
*data_in)
SceneCollection *sc = data->scene_collection_iter.current;
iter->current = sc->objects.first;
+
+ if (iter->current == NULL) {
+ BKE_scene_objects_Iterator_next(iter);
+ }
}
/**
diff --git a/source/blender/blenlib/BLI_iterator.h
b/source/blender/blenlib/BLI_iterator.h
index 10ad49b..cfa303b 100644
--- a/source/blender/blenlib/BLI_iterator.h
+++ b/source/blender/blenlib/BLI_iterator.h
@@ -44,7 +44,7 @@ typedef void (*IteratorBeginCb)(Iterator *iter, void
*data_in);
iter_macro.valid;
\
callback_next(&iter_macro))
\
{
\
- _data_out = iter_macro.data;
+ _data_out = iter_macro.current;
#define ITER_END
\
}
\
_______________________________________________
Bf-blender-cvs mailing list
[email protected]
https://lists.blender.org/mailman/listinfo/bf-blender-cvs