While using automatic IK, a pending redraw event could draw the buttons
window again, reveiling the temporal IK buttons. Using them, after grab,
caused a crash.

Also: noticed that the undo push for transform is called too early, so it
saves the state before 'special_after_trans' was called.
Also: in editmode armature, changed shift+A "Bones" in "Bone".
This commit is contained in:
Ton Roosendaal 2005-11-03 21:13:20 +00:00
parent 2439c1df7c
commit 8a0befc3fd
3 changed files with 21 additions and 11 deletions

@ -1130,7 +1130,13 @@ void object_panel_constraint(char *context)
yco = 160;
for (curcon = conlist->first; curcon; curcon=curcon->next) {
/* Draw default constraint header */
/* hrms, the temporal constraint should not draw! */
if(curcon->type==CONSTRAINT_TYPE_KINEMATIC) {
bKinematicConstraint *data= curcon->data;
if(data->flag & CONSTRAINT_IK_TEMP)
continue;
}
/* Draw default constraint header */
draw_constraint(block, conlist, curcon, &xco, &yco);
}

@ -2186,7 +2186,7 @@ static TBitem addmenu_YF_lamp[]= {
static TBitem addmenu_armature[]= {
{ 0, "Bones", 8, NULL},
{ 0, "Bone", 8, NULL},
{ -1, "", 0, do_info_addmenu}};
static TBitem tb_add[]= {

@ -821,16 +821,9 @@ void Transform()
}
/* handle restoring objects and Undo */
if(Trans.state == TRANS_CANCEL) {
/* handle restoring objects */
if(Trans.state == TRANS_CANCEL)
restoreTransObjects(&Trans); // calls recalcData()
if(Trans.undostr) BIF_undo_push(Trans.undostr);
}
else {
if(Trans.undostr) BIF_undo_push(Trans.undostr);
else BIF_undo_push(transform_to_undostr(&Trans));
}
Trans.undostr= NULL;
/* free data */
postTrans(&Trans);
@ -840,6 +833,17 @@ void Transform()
/* send events out for redraws */
viewRedrawPost(&Trans);
/* Undo as last, certainly after special_trans_update! */
if(Trans.state == TRANS_CANCEL) {
if(Trans.undostr) BIF_undo_push(Trans.undostr);
}
else {
if(Trans.undostr) BIF_undo_push(Trans.undostr);
else BIF_undo_push(transform_to_undostr(&Trans));
}
Trans.undostr= NULL;
}
/* ************************** Manipulator init and main **************************** */