Fix missing updates when muting/soloing/reordering NLA tracks.
This commit is contained in:
@@ -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) */
|
/* tag copy-on-write flushing (so that the settings will have an effect) */
|
||||||
if (ale_setting->id) {
|
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) {
|
if (ale_setting->adt && ale_setting->adt->action) {
|
||||||
/* action is it's own datablock, so has to be tagged specifically... */
|
/* 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 */
|
/* send notifiers */
|
||||||
DEG_id_tag_update(ale->id, ID_RECALC_ANIMATION | ID_RECALC_COPY_ON_WRITE);
|
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 */
|
/* callback for widget sliders - insert keyframes */
|
||||||
|
@@ -1355,6 +1355,7 @@ static int animchannels_rearrange_exec(bContext *C, wmOperator *op)
|
|||||||
switch (ac.datatype) {
|
switch (ac.datatype) {
|
||||||
case ANIMCONT_NLA: /* NLA-tracks only */
|
case ANIMCONT_NLA: /* NLA-tracks only */
|
||||||
rearrange_nla_channels(&ac, adt, mode);
|
rearrange_nla_channels(&ac, adt, mode);
|
||||||
|
DEG_id_tag_update(ale->id, ID_RECALC_ANIMATION | ID_RECALC_COPY_ON_WRITE);
|
||||||
break;
|
break;
|
||||||
|
|
||||||
case ANIMCONT_DRIVERS: /* Drivers list only */
|
case ANIMCONT_DRIVERS: /* Drivers list only */
|
||||||
|
@@ -794,7 +794,7 @@ static void view3d_main_region_listener(
|
|||||||
ED_region_tag_redraw(ar);
|
ED_region_tag_redraw(ar);
|
||||||
break;
|
break;
|
||||||
case ND_ANIMCHAN:
|
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);
|
ED_region_tag_redraw(ar);
|
||||||
break;
|
break;
|
||||||
}
|
}
|
||||||
|
Reference in New Issue
Block a user