Welcome to mirror list, hosted at ThFree Co, Russian Federation.

git.blender.org/blender.git - Unnamed repository; edit this file 'description' to name the repository.
summaryrefslogtreecommitdiff
path: root/source
diff options
context:
space:
mode:
authorAlexander Gavrilov <angavrilov@gmail.com>2019-01-07 17:33:47 +0300
committerAlexander Gavrilov <angavrilov@gmail.com>2019-01-07 17:35:51 +0300
commit43a2a73fdba0aed5b349ecfbb7a88251b8130e3c (patch)
tree64c55579bc17f035bb5ba1dfc4e4023e55a85e17 /source
parent299ff7dcd1383f5141f5eba3c04c447d5072f705 (diff)
Fix missing updates when muting/soloing/reordering NLA tracks.
Diffstat (limited to 'source')
-rw-r--r--source/blender/editors/animation/anim_channels_defines.c4
-rw-r--r--source/blender/editors/animation/anim_channels_edit.c1
-rw-r--r--source/blender/editors/space_view3d/space_view3d.c2
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;
}