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:
authorBrecht Van Lommel <brechtvanlommel@gmail.com>2019-06-20 19:30:35 +0300
committerBrecht Van Lommel <brechtvanlommel@gmail.com>2019-06-20 20:00:51 +0300
commit9123595b52b3354082c0eb77134599784df34899 (patch)
treecb731a74665078531afa9ca98138fca5be4600a9 /source/blender/blenkernel/BKE_collection.h
parent9a88bd55903a5c7df0365007bef8dd182f6eb481 (diff)
Fix T64705: can't drive object visibility in collection instances
Not the cleanest solution, but should be fine until we add support for driving collection visibility and revise this system as a whole.
Diffstat (limited to 'source/blender/blenkernel/BKE_collection.h')
-rw-r--r--source/blender/blenkernel/BKE_collection.h6
1 files changed, 4 insertions, 2 deletions
diff --git a/source/blender/blenkernel/BKE_collection.h b/source/blender/blenkernel/BKE_collection.h
index 502c949be9a..c1e36f5dd83 100644
--- a/source/blender/blenkernel/BKE_collection.h
+++ b/source/blender/blenkernel/BKE_collection.h
@@ -176,11 +176,13 @@ typedef void (*BKE_scene_collections_Cb)(struct Collection *ob, void *data);
#define FOREACH_COLLECTION_VISIBLE_OBJECT_RECURSIVE_BEGIN(_collection, _object, _mode) \
{ \
int _base_flag = (_mode == DAG_EVAL_VIEWPORT) ? BASE_ENABLED_VIEWPORT : BASE_ENABLED_RENDER; \
+ int _object_restrict_flag = (_mode == DAG_EVAL_VIEWPORT) ? OB_RESTRICT_VIEWPORT : \
+ OB_RESTRICT_RENDER; \
int _base_id = 0; \
for (Base *_base = (Base *)BKE_collection_object_cache_get(_collection).first; _base; \
_base = _base->next, _base_id++) { \
- if (_base->flag & _base_flag) { \
- Object *_object = _base->object;
+ Object *_object = _base->object; \
+ if ((_base->flag & _base_flag) && (_object->restrictflag & _object_restrict_flag) == 0) {
#define FOREACH_COLLECTION_VISIBLE_OBJECT_RECURSIVE_END \
} \