Context: Fix scene_collection

We now allow for scene collection that is not currently linked to view layer.
This commit is contained in:
Dalai Felinto
2017-12-28 12:24:10 -02:00
parent dfd7b0d07a
commit 70cdc8412c

View File

@@ -968,11 +968,11 @@ RenderEngineType *CTX_data_engine_type(const bContext *C)
LayerCollection *CTX_data_layer_collection(const bContext *C) LayerCollection *CTX_data_layer_collection(const bContext *C)
{ {
ViewLayer *view_layer = CTX_data_view_layer(C); ViewLayer *view_layer = CTX_data_view_layer(C);
LayerCollection *lc; LayerCollection *layer_collection;
if (ctx_data_pointer_verify(C, "layer_collection", (void *)&lc)) { if (ctx_data_pointer_verify(C, "layer_collection", (void *)&layer_collection)) {
if (BKE_view_layer_has_collection(view_layer, lc->scene_collection)) { if (BKE_view_layer_has_collection(view_layer, layer_collection->scene_collection)) {
return lc; return layer_collection;
} }
} }
@@ -982,16 +982,14 @@ LayerCollection *CTX_data_layer_collection(const bContext *C)
SceneCollection *CTX_data_scene_collection(const bContext *C) SceneCollection *CTX_data_scene_collection(const bContext *C)
{ {
SceneCollection *sc; SceneCollection *scene_collection;
if (ctx_data_pointer_verify(C, "scene_collection", (void *)&sc)) { if (ctx_data_pointer_verify(C, "scene_collection", (void *)&scene_collection)) {
if (BKE_view_layer_has_collection(CTX_data_view_layer(C), sc)) { return scene_collection;
return sc;
}
} }
LayerCollection *lc = CTX_data_layer_collection(C); LayerCollection *layer_collection = CTX_data_layer_collection(C);
if (lc) { if (layer_collection) {
return lc->scene_collection; return layer_collection->scene_collection;
} }
/* fallback */ /* fallback */