From 44cd24a9cee9ffb14b5d26a622f2158f55e008ba Mon Sep 17 00:00:00 2001 From: Sergey Sharybin Date: Wed, 28 Mar 2018 17:32:51 +0200 Subject: Particles: Remove dedicated recalc field from ParticleSettings Use more generic id->recalc flag. Also sanitize flag flush from settings to particle system. Need to do such flush before triggering point cache reset, since point cache reset will do some logic based on what flags are set. This will solve crash caused by threaded update which will set some bitflags while point cache reset is in progress. --- source/blender/depsgraph/intern/depsgraph_tag.cc | 6 ------ 1 file changed, 6 deletions(-) (limited to 'source/blender/depsgraph/intern/depsgraph_tag.cc') diff --git a/source/blender/depsgraph/intern/depsgraph_tag.cc b/source/blender/depsgraph/intern/depsgraph_tag.cc index 1f643dc9615..8f2f6e258fb 100644 --- a/source/blender/depsgraph/intern/depsgraph_tag.cc +++ b/source/blender/depsgraph/intern/depsgraph_tag.cc @@ -199,13 +199,7 @@ void depsgraph_tag_to_component_opcode(const ID *id, * component. Will be nice to get this unified with object, * but we can survive for now with single exception here. * Particles needs reconsideration anyway, - * - We do direct injection of particle settings recalc flag - * here. This is what we need to do for until particles - * are switched away from own recalc flag and are using - * ID->recalc flags instead. */ - ParticleSettings *particle_settings = (ParticleSettings *)id; - particle_settings->recalc |= (tag & DEG_TAG_PSYS_ALL); *component_type = DEG_NODE_TYPE_PARAMETERS; } else { -- cgit v1.2.3