[Bf-blender-cvs] [5c66739b782] master: Fix T72897: Move Channels operator moves Grease Pencil Layers wrongly

Antonio Vazquez noreply at git.blender.org
Sat Jan 4 22:02:45 CET 2020


Commit: 5c66739b782e991034c872c4f7175093e98c9982
Author: Antonio Vazquez
Date:   Sat Jan 4 22:02:03 2020 +0100
Branches: master
https://developer.blender.org/rB5c66739b782e991034c872c4f7175093e98c9982

Fix T72897: Move Channels operator moves Grease Pencil Layers wrongly

This operator was pending of fix.

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

M	release/scripts/startup/bl_ui/space_dopesheet.py
M	source/blender/editors/animation/anim_channels_edit.c

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

diff --git a/release/scripts/startup/bl_ui/space_dopesheet.py b/release/scripts/startup/bl_ui/space_dopesheet.py
index 5a73ff094a2..a09e263fd87 100644
--- a/release/scripts/startup/bl_ui/space_dopesheet.py
+++ b/release/scripts/startup/bl_ui/space_dopesheet.py
@@ -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):
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);
 }
 
 /* ------------------- */



More information about the Bf-blender-cvs mailing list