Changeset View
Changeset View
Standalone View
Standalone View
source/blender/editors/animation/anim_deps.c
| Show First 20 Lines • Show All 66 Lines • ▼ Show 20 Lines | void ANIM_list_elem_update(Main *bmain, Scene *scene, bAnimListElem *ale) | ||||
| if (!id) | if (!id) | ||||
| return; | return; | ||||
| /* tag AnimData for refresh so that other views will update in realtime with these changes */ | /* tag AnimData for refresh so that other views will update in realtime with these changes */ | ||||
| adt = BKE_animdata_from_id(id); | adt = BKE_animdata_from_id(id); | ||||
| if (adt) { | if (adt) { | ||||
| DEG_id_tag_update(id, ID_RECALC_ANIMATION); | DEG_id_tag_update(id, ID_RECALC_ANIMATION); | ||||
| if (adt->action != NULL) { | if (adt->action != NULL) { | ||||
| DEG_id_tag_update(&adt->action->id, ID_RECALC_COPY_ON_WRITE); | DEG_id_tag_update(&adt->action->id, ID_RECALC_ANIMATION); | ||||
| } | } | ||||
| } | } | ||||
| /* Tag copy on the main object if updating anything directly inside AnimData */ | /* Tag copy on the main object if updating anything directly inside AnimData */ | ||||
| if (ELEM(ale->type, ANIMTYPE_ANIMDATA, ANIMTYPE_NLAACTION, ANIMTYPE_NLATRACK, ANIMTYPE_NLACURVE)) { | if (ELEM(ale->type, ANIMTYPE_ANIMDATA, ANIMTYPE_NLAACTION, ANIMTYPE_NLATRACK, ANIMTYPE_NLACURVE)) { | ||||
| DEG_id_tag_update(id, ID_RECALC_ANIMATION | ID_RECALC_COPY_ON_WRITE); | DEG_id_tag_update(id, ID_RECALC_ANIMATION); | ||||
| return; | return; | ||||
| } | } | ||||
| /* update data */ | /* update data */ | ||||
| fcu = (ale->datatype == ALE_FCURVE) ? ale->key_data : NULL; | fcu = (ale->datatype == ALE_FCURVE) ? ale->key_data : NULL; | ||||
| if (fcu && fcu->rna_path) { | if (fcu && fcu->rna_path) { | ||||
| /* if we have an fcurve, call the update for the property we | /* if we have an fcurve, call the update for the property we | ||||
| ▲ Show 20 Lines • Show All 329 Lines • Show Last 20 Lines | |||||