[Bf-blender-cvs] [085ed00e42a] master: A bunch of fixes for Pose Library while checking on T51607
Joshua Leung
noreply at git.blender.org
Tue Jul 11 16:17:19 CEST 2017
Commit: 085ed00e42a5af31c03a3599c4fef38786fb6ba5
Author: Joshua Leung
Date: Wed Jul 12 01:33:08 2017 +1200
Branches: master
https://developer.blender.org/rB085ed00e42a5af31c03a3599c4fef38786fb6ba5
A bunch of fixes for Pose Library while checking on T51607
* Display a warning above the pose list if the pose library is in an invalid
state (i.e. when it has keyframes but no pose-markers associated with those
keyframes). This warning prompts users to run the "Sanitize Pose Library Action"
operator, which should fix up such issues.
* "Sanitize" operator now creates unique names for each newly create pose
marker it generates, including the frame on which it found the pose
===================================================================
M release/scripts/startup/bl_ui/properties_data_armature.py
M source/blender/editors/armature/pose_lib.c
===================================================================
diff --git a/release/scripts/startup/bl_ui/properties_data_armature.py b/release/scripts/startup/bl_ui/properties_data_armature.py
index 8d3ab24b4cf..20038e1354a 100644
--- a/release/scripts/startup/bl_ui/properties_data_armature.py
+++ b/release/scripts/startup/bl_ui/properties_data_armature.py
@@ -178,6 +178,10 @@ class DATA_PT_pose_library(ArmatureButtonsPanel, Panel):
layout.template_ID(ob, "pose_library", new="poselib.new", unlink="poselib.unlink")
if poselib:
+ # warning about poselib being in an invalid state
+ if len(poselib.fcurves) > 0 and len(poselib.pose_markers) == 0:
+ layout.label(icon='ERROR', text="Error: Potentially corrupt library, run 'Sanitize' operator to fix")
+
# list of poses in pose library
row = layout.row()
row.template_list("UI_UL_list", "pose_markers", poselib, "pose_markers",
diff --git a/source/blender/editors/armature/pose_lib.c b/source/blender/editors/armature/pose_lib.c
index e3c64b523b1..25f1b282f14 100644
--- a/source/blender/editors/armature/pose_lib.c
+++ b/source/blender/editors/armature/pose_lib.c
@@ -328,7 +328,7 @@ static int poselib_sanitize_exec(bContext *C, wmOperator *op)
/* add pose to poselib */
marker = MEM_callocN(sizeof(TimeMarker), "ActionMarker");
- BLI_strncpy(marker->name, "Pose", sizeof(marker->name));
+ BLI_snprintf(marker->name, sizeof(marker->name), "F%d Pose", (int)ak->cfra);
marker->frame = (int)ak->cfra;
marker->flag = -1;
More information about the Bf-blender-cvs
mailing list