Workaround for crash caused by threaded dupligorup update
Some objects from scene could have dupligroup with objects which are not in the scene. This case wasn't checked by workaround for threaded display object free routines. We really need to have threading issues with display objects solved.
This commit is contained in:
@@ -1268,6 +1268,15 @@ static void scene_update_objects_threaded(Scene *scene, Scene *scene_parent)
|
||||
|
||||
if (ob->recalc & OB_RECALC_ALL) {
|
||||
BKE_object_free_derived_caches(ob);
|
||||
|
||||
if (ob->dup_group && (ob->transflag & OB_DUPLIGROUP)) {
|
||||
GroupObject *go;
|
||||
for (go = ob->dup_group->gobject.first; go; go = go->next) {
|
||||
if (go->ob && go->ob->recalc) {
|
||||
BKE_object_free_derived_caches(go->ob);
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user