forked from bartvdbraak/blender
PoseLib UI and Bugfixes:
- Added operator button to show the current pose. This runs on top of the interactive pose browse functionality, so the tooltip may be a bit obtuse... - Specifying a pose for the Pose browse functionality to set now works correctly. Previously, some old depsgraph hacks were actually interferring with correct updating (only the armature updated correctly, but deforms didn't occur) - Fixed a case of accessing freed memory, which I'm surprised no static checkers have reportedly picked up on yet, or that nobody has really had issues with (probably due to low memory "turnaround" so far)
This commit is contained in:
parent
669cffdb1e
commit
7756da34c9
@ -193,12 +193,12 @@ class DATA_PT_pose_library(ArmatureButtonsPanel, bpy.types.Panel):
|
||||
col.operator_context = 'EXEC_DEFAULT' # exec not invoke, so that menu doesn't need showing
|
||||
col.operator("poselib.pose_remove", icon='ZOOMOUT', text="").pose = activePoseName
|
||||
|
||||
# TODO:
|
||||
# - show selected pose in 3d-view using browse op...
|
||||
# - rename selected pose...
|
||||
#col.operator_context = 'EXEC_DEFAULT' # exec not invoke, so modal preview loop doesn't run
|
||||
col.operator("poselib.browse_interactive", icon='ZOOM_SELECTED', text="").pose_index = activePoseIndex
|
||||
|
||||
# TODO: "validate action" operator to be restored
|
||||
|
||||
|
||||
# TODO: this panel will soon be depreceated too
|
||||
class DATA_PT_ghost(ArmatureButtonsPanel, bpy.types.Panel):
|
||||
bl_label = "Ghost"
|
||||
|
@ -1477,11 +1477,8 @@ static void poselib_preview_cleanup (bContext *C, wmOperator *op)
|
||||
if (IS_AUTOKEY_MODE(scene, NORMAL)) {
|
||||
//remake_action_ipos(ob->action);
|
||||
}
|
||||
else {
|
||||
/* need to trick depgraph, action is not allowed to execute on pose */
|
||||
else
|
||||
where_is_pose(scene, ob);
|
||||
ob->recalc= 0;
|
||||
}
|
||||
}
|
||||
|
||||
/* free memory used for backups and searching */
|
||||
@ -1497,11 +1494,12 @@ static void poselib_preview_cleanup (bContext *C, wmOperator *op)
|
||||
static int poselib_preview_exit (bContext *C, wmOperator *op)
|
||||
{
|
||||
tPoseLib_PreviewData *pld= op->customdata;
|
||||
int exit_state = pld->state;
|
||||
|
||||
/* finish up */
|
||||
poselib_preview_cleanup(C, op);
|
||||
|
||||
if (ELEM(pld->state, PL_PREVIEW_CANCEL, PL_PREVIEW_ERROR))
|
||||
if (ELEM(exit_state, PL_PREVIEW_CANCEL, PL_PREVIEW_ERROR))
|
||||
return OPERATOR_CANCELLED;
|
||||
else
|
||||
return OPERATOR_FINISHED;
|
||||
|
Loading…
Reference in New Issue
Block a user