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,6 +1130,12 @@ void object_panel_constraint(char *context)
|
|||||||
yco = 160;
|
yco = 160;
|
||||||
|
|
||||||
for (curcon = conlist->first; curcon; curcon=curcon->next) {
|
for (curcon = conlist->first; curcon; curcon=curcon->next) {
|
||||||
|
/* 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 default constraint header */
|
||||||
draw_constraint(block, conlist, curcon, &xco, &yco);
|
draw_constraint(block, conlist, curcon, &xco, &yco);
|
||||||
}
|
}
|
||||||
|
@ -2186,7 +2186,7 @@ static TBitem addmenu_YF_lamp[]= {
|
|||||||
|
|
||||||
|
|
||||||
static TBitem addmenu_armature[]= {
|
static TBitem addmenu_armature[]= {
|
||||||
{ 0, "Bones", 8, NULL},
|
{ 0, "Bone", 8, NULL},
|
||||||
{ -1, "", 0, do_info_addmenu}};
|
{ -1, "", 0, do_info_addmenu}};
|
||||||
|
|
||||||
static TBitem tb_add[]= {
|
static TBitem tb_add[]= {
|
||||||
|
@ -821,16 +821,9 @@ void Transform()
|
|||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
/* handle restoring objects and Undo */
|
/* handle restoring objects */
|
||||||
if(Trans.state == TRANS_CANCEL) {
|
if(Trans.state == TRANS_CANCEL)
|
||||||
restoreTransObjects(&Trans); // calls recalcData()
|
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 */
|
/* free data */
|
||||||
postTrans(&Trans);
|
postTrans(&Trans);
|
||||||
@ -840,6 +833,17 @@ void Transform()
|
|||||||
|
|
||||||
/* send events out for redraws */
|
/* send events out for redraws */
|
||||||
viewRedrawPost(&Trans);
|
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 **************************** */
|
/* ************************** Manipulator init and main **************************** */
|
||||||
|
Loading…
Reference in New Issue
Block a user