Fix T72897: Move Channels operator moves Grease Pencil Layers wrongly
This operator was pending of fix.
This commit is contained in:
parent
952bc89d6e
commit
5c66739b78
Notes:
blender-bot
2023-02-14 05:04:52 +01:00
Referenced by issue #72916, Fluid/Smoke modifier has an "Apply" button, which is misleading/dangerous (only meaningful for mesh-baked liquid domains) Referenced by issue #72897, Move Channels operator moves Grease Pencil Layers, causing keymap conflict
|
@ -542,8 +542,8 @@ class DOPESHEET_MT_gpencil_channel(Menu):
|
|||
# layout.operator("anim.channels_expand")
|
||||
# layout.operator("anim.channels_collapse")
|
||||
|
||||
# layout.separator()
|
||||
#layout.operator_menu_enum("anim.channels_move", "direction", text="Move...")
|
||||
layout.separator()
|
||||
layout.operator_menu_enum("anim.channels_move", "direction", text="Move...")
|
||||
|
||||
|
||||
class DOPESHEET_MT_gpencil_frame(Menu):
|
||||
|
|
|
@ -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);
|
||||
}
|
||||
|
||||
/* ------------------- */
|
||||
|
|
Loading…
Reference in New Issue