[Bf-blender-cvs] [43a2a73fdba] master: Fix missing updates when muting/soloing/reordering NLA tracks.

Alexander Gavrilov noreply at git.blender.org
Mon Jan 7 15:38:28 CET 2019


Commit: 43a2a73fdba0aed5b349ecfbb7a88251b8130e3c
Author: Alexander Gavrilov
Date:   Mon Jan 7 17:33:47 2019 +0300
Branches: master
https://developer.blender.org/rB43a2a73fdba0aed5b349ecfbb7a88251b8130e3c

Fix missing updates when muting/soloing/reordering NLA tracks.

===================================================================

M	source/blender/editors/animation/anim_channels_defines.c
M	source/blender/editors/animation/anim_channels_edit.c
M	source/blender/editors/space_view3d/space_view3d.c

===================================================================

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;
 			}



More information about the Bf-blender-cvs mailing list