diff options
author | Alexander Gavrilov <angavrilov@gmail.com> | 2019-01-07 17:33:47 +0300 |
---|---|---|
committer | Alexander Gavrilov <angavrilov@gmail.com> | 2019-01-07 17:35:51 +0300 |
commit | 43a2a73fdba0aed5b349ecfbb7a88251b8130e3c (patch) | |
tree | 64c55579bc17f035bb5ba1dfc4e4023e55a85e17 /source/blender/editors | |
parent | 299ff7dcd1383f5141f5eba3c04c447d5072f705 (diff) |
Fix missing updates when muting/soloing/reordering NLA tracks.
Diffstat (limited to 'source/blender/editors')
-rw-r--r-- | source/blender/editors/animation/anim_channels_defines.c | 4 | ||||
-rw-r--r-- | source/blender/editors/animation/anim_channels_edit.c | 1 | ||||
-rw-r--r-- | source/blender/editors/space_view3d/space_view3d.c | 2 |
3 files changed, 4 insertions, 3 deletions
diff --git a/source/blender/editors/animation/anim_channels_defines.c b/source/blender/editors/animation/anim_channels_defines.c index c00b1a4d2fa..e7416b94abf 100644 --- a/source/blender/editors/animation/anim_channels_defines.c +++ b/source/blender/editors/animation/anim_channels_defines.c @@ -4064,7 +4064,7 @@ static void achannel_setting_flush_widget_cb(bContext *C, void *ale_npoin, void /* tag copy-on-write flushing (so that the settings will have an effect) */ if (ale_setting->id) { - DEG_id_tag_update(ale_setting->id, ID_RECALC_COPY_ON_WRITE); + DEG_id_tag_update(ale_setting->id, ID_RECALC_ANIMATION | ID_RECALC_COPY_ON_WRITE); } if (ale_setting->adt && ale_setting->adt->action) { /* action is it's own datablock, so has to be tagged specifically... */ @@ -4113,7 +4113,7 @@ static void achannel_nlatrack_solo_widget_cb(bContext *C, void *ale_poin, void * /* send notifiers */ DEG_id_tag_update(ale->id, ID_RECALC_ANIMATION | ID_RECALC_COPY_ON_WRITE); - WM_event_add_notifier(C, NC_ANIMATION | ND_ANIMCHAN | NA_RENAME, NULL); + WM_event_add_notifier(C, NC_ANIMATION | ND_NLA | NA_EDITED, NULL); } /* callback for widget sliders - insert keyframes */ diff --git a/source/blender/editors/animation/anim_channels_edit.c b/source/blender/editors/animation/anim_channels_edit.c index 26de5c3afc8..2d1c30734d9 100644 --- a/source/blender/editors/animation/anim_channels_edit.c +++ b/source/blender/editors/animation/anim_channels_edit.c @@ -1355,6 +1355,7 @@ static int animchannels_rearrange_exec(bContext *C, wmOperator *op) switch (ac.datatype) { case ANIMCONT_NLA: /* NLA-tracks only */ rearrange_nla_channels(&ac, adt, mode); + DEG_id_tag_update(ale->id, ID_RECALC_ANIMATION | ID_RECALC_COPY_ON_WRITE); break; case ANIMCONT_DRIVERS: /* Drivers list only */ diff --git a/source/blender/editors/space_view3d/space_view3d.c b/source/blender/editors/space_view3d/space_view3d.c index 2685fb4810d..79e5026c7c5 100644 --- a/source/blender/editors/space_view3d/space_view3d.c +++ b/source/blender/editors/space_view3d/space_view3d.c @@ -794,7 +794,7 @@ static void view3d_main_region_listener( ED_region_tag_redraw(ar); break; case ND_ANIMCHAN: - if (wmn->action == NA_SELECTED) + if (ELEM(wmn->action, NA_EDITED, NA_ADDED, NA_REMOVED, NA_SELECTED)) ED_region_tag_redraw(ar); break; } |