chan: fix crash in certain cases after AnimControl destruction

This commit is contained in:
rdb 2018-10-17 19:44:39 +02:00
parent eac88fc64a
commit a05e928a75

View File

@ -558,6 +558,12 @@ control_removed(AnimControl *control) {
if (cbi != cdata->_blend.end()) { if (cbi != cdata->_blend.end()) {
cdata->_blend.erase(cbi); cdata->_blend.erase(cbi);
cdata->_anim_changed = true; cdata->_anim_changed = true;
// We need to make sure that any _effective_channel pointers that point
// to this control are cleared.
if (pipeline_stage == 0) {
determine_effective_channels(cdata);
}
} }
} }
CLOSE_ITERATE_ALL_STAGES(_cycler); CLOSE_ITERATE_ALL_STAGES(_cycler);