diff options
author | Antonio Vazquez <blendergit@gmail.com> | 2020-01-05 00:02:03 +0300 |
---|---|---|
committer | Antonio Vazquez <blendergit@gmail.com> | 2020-01-05 00:02:21 +0300 |
commit | 5c66739b782e991034c872c4f7175093e98c9982 (patch) | |
tree | 933ccc75b456941dabc2761eaecaf46ed83ccd9e /source/blender/editors/animation | |
parent | 952bc89d6ee3248aa2c577e4024ba11da45992c6 (diff) |
Fix T72897: Move Channels operator moves Grease Pencil Layers wrongly
This operator was pending of fix.
Diffstat (limited to 'source/blender/editors/animation')
-rw-r--r-- | source/blender/editors/animation/anim_channels_edit.c | 21 |
1 files changed, 20 insertions, 1 deletions
diff --git a/source/blender/editors/animation/anim_channels_edit.c b/source/blender/editors/animation/anim_channels_edit.c index b7ed20d9ec5..35c743a3af3 100644 --- a/source/blender/editors/animation/anim_channels_edit.c +++ b/source/blender/editors/animation/anim_channels_edit.c @@ -898,6 +898,23 @@ static AnimChanRearrangeFp rearrange_get_mode_func(eRearrangeAnimChan_Mode mode) } } +/* get rearranging function, given 'rearrange' mode (grease pencil is inverted) */ +static AnimChanRearrangeFp rearrange_gpencil_get_mode_func(eRearrangeAnimChan_Mode mode) +{ + switch (mode) { + case REARRANGE_ANIMCHAN_TOP: + return rearrange_island_bottom; + case REARRANGE_ANIMCHAN_UP: + return rearrange_island_down; + case REARRANGE_ANIMCHAN_DOWN: + return rearrange_island_up; + case REARRANGE_ANIMCHAN_BOTTOM: + return rearrange_island_top; + default: + return NULL; + } +} + /* Rearrange Islands Generics ------------------------------------- */ /* add channel into list of islands */ @@ -1331,7 +1348,7 @@ static void rearrange_gpencil_channels(bAnimContext *ac, eRearrangeAnimChan_Mode int filter; /* get rearranging function */ - AnimChanRearrangeFp rearrange_func = rearrange_get_mode_func(mode); + AnimChanRearrangeFp rearrange_func = rearrange_gpencil_get_mode_func(mode); if (rearrange_func == NULL) { return; @@ -1364,6 +1381,8 @@ static void rearrange_gpencil_channels(bAnimContext *ac, eRearrangeAnimChan_Mode /* free GPD channel data */ ANIM_animdata_freelist(&anim_data); + + WM_main_add_notifier(NC_GPENCIL | ND_DATA | NA_EDITED, NULL); } /* ------------------- */ |