forked from bartvdbraak/blender
Bug #3338
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:
parent
2439c1df7c
commit
8a0befc3fd
@ -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 **************************** */
|
||||
|
Loading…
Reference in New Issue
Block a user