Fix crash introduced in engine separation (50fb3ea3)

Basically DEG_OBJECT_ITER (or rather,
BKE_scene_layer_engine_settings_update) wasn't creating
Object->collection_settings data for invisible objects.

Now I'm removing those objects from the loop entirely. If we are to
bring them back we need to either create CollectionEngineSettings dat
from them or to skip them in DRW_mode_cache_populate.
This commit is contained in:
Dalai Felinto 2017-02-17 22:24:08 +01:00
parent 39e212eb05
commit b30044d4af
2 changed files with 4 additions and 3 deletions

View File

@ -215,6 +215,10 @@ void BKE_visible_bases_Iterator_end(Iterator *iter);
/* flush all the data to objects*/ \
Base *base_; \
for (base_ = (sl_)->object_bases.first; base_; base_ = base_->next) { \
if ((base->flag & BASE_VISIBLED) == 0) { \
continue; \
} \
\
instance_ = base_->object; \
instance_->base_flag = base_->flag;

View File

@ -639,9 +639,6 @@ static void CLAY_cache_populate(Object *ob)
bool do_cull = false;
CollectionEngineSettings *ces_mode_ed, *ces_mode_ob;
if ((ob->base_flag & BASE_VISIBLED) == 0)
return;
switch (mode) {
case CTX_MODE_EDIT_MESH:
case CTX_MODE_EDIT_CURVE: