forked from bartvdbraak/blender
Old error... on ctrl+clicking new bones, the envelope bone distances were
not correctly flushed for connected bones.
This commit is contained in:
parent
6b33e12b90
commit
7cf9300d4d
@ -1273,12 +1273,12 @@ void addvert_armature(void)
|
|||||||
|
|
||||||
if(to_root) {
|
if(to_root) {
|
||||||
VECCOPY(newbone->head, ebone->head);
|
VECCOPY(newbone->head, ebone->head);
|
||||||
|
newbone->rad_head= ebone->rad_tail;
|
||||||
newbone->parent= ebone->parent;
|
newbone->parent= ebone->parent;
|
||||||
}
|
}
|
||||||
else {
|
else {
|
||||||
VECCOPY(newbone->head, ebone->tail);
|
VECCOPY(newbone->head, ebone->tail);
|
||||||
|
newbone->rad_head= ebone->rad_tail;
|
||||||
newbone->parent= ebone;
|
newbone->parent= ebone;
|
||||||
newbone->flag |= BONE_CONNECTED;
|
newbone->flag |= BONE_CONNECTED;
|
||||||
}
|
}
|
||||||
@ -1470,6 +1470,7 @@ void make_bone_parent(void)
|
|||||||
if(val==1 && actbone->parent) {
|
if(val==1 && actbone->parent) {
|
||||||
actbone->flag |= BONE_CONNECTED;
|
actbone->flag |= BONE_CONNECTED;
|
||||||
VECCOPY(actbone->head, actbone->parent->tail);
|
VECCOPY(actbone->head, actbone->parent->tail);
|
||||||
|
actbone->rad_head= actbone->parent->rad_tail;
|
||||||
countall(); // checks selection
|
countall(); // checks selection
|
||||||
allqueue(REDRAWVIEW3D, 0);
|
allqueue(REDRAWVIEW3D, 0);
|
||||||
BIF_undo_push("Connect to Parent");
|
BIF_undo_push("Connect to Parent");
|
||||||
@ -1496,6 +1497,8 @@ void make_bone_parent(void)
|
|||||||
VecSubf(offset, actbone->tail, selbone->head);
|
VecSubf(offset, actbone->tail, selbone->head);
|
||||||
|
|
||||||
VECCOPY(selbone->head, actbone->tail);
|
VECCOPY(selbone->head, actbone->tail);
|
||||||
|
selbone->rad_head= actbone->rad_tail;
|
||||||
|
|
||||||
VecAddf(selbone->tail, selbone->tail, offset);
|
VecAddf(selbone->tail, selbone->tail, offset);
|
||||||
|
|
||||||
// offset for all its children
|
// offset for all its children
|
||||||
|
@ -489,7 +489,6 @@ int std_libbuttons(uiBlock *block, short xco, short yco,
|
|||||||
static void do_update_for_newframe(int mute, int events)
|
static void do_update_for_newframe(int mute, int events)
|
||||||
{
|
{
|
||||||
extern void audiostream_scrub(unsigned int frame); /* seqaudio.c */
|
extern void audiostream_scrub(unsigned int frame); /* seqaudio.c */
|
||||||
ScrArea *sa;
|
|
||||||
|
|
||||||
if(events) {
|
if(events) {
|
||||||
allqueue(REDRAWALL, 0);
|
allqueue(REDRAWALL, 0);
|
||||||
|
Loading…
Reference in New Issue
Block a user