IPO-Transform Bugfix:

Peach/ideasman_42 report... 

After transforming sequence IPO's, there were occasional crashes.
This commit is contained in:
Joshua Leung 2007-10-17 08:23:08 +00:00
parent 5b755bade2
commit 919e5baba8

@ -2738,7 +2738,7 @@ void special_aftertrans_update(TransInfo *t)
{ {
Object *ob; Object *ob;
Base *base; Base *base;
int redrawipo=0; short redrawipo=0, resetslowpar=1;
int cancelled= (t->state == TRANS_CANCEL); int cancelled= (t->state == TRANS_CANCEL);
if(t->spacetype == SPACE_ACTION) { if(t->spacetype == SPACE_ACTION) {
@ -2790,6 +2790,13 @@ void special_aftertrans_update(TransInfo *t)
recalc_all_ipos(); // bad recalc_all_ipos(); // bad
} }
else if(t->spacetype == SPACE_IPO) {
// FIXME! is there any code from the old transform_ipo that needs to be added back?
/* resetting slow-parents isn't really necessary when editing sequence ipo's */
if (G.sipo->blocktype==ID_SEQ)
resetslowpar= 0;
}
else if(G.obedit) { else if(G.obedit) {
if(t->mode==TFM_BONESIZE || t->mode==TFM_BONE_ENVELOPE) if(t->mode==TFM_BONESIZE || t->mode==TFM_BONE_ENVELOPE)
allqueue(REDRAWBUTSEDIT, 0); allqueue(REDRAWBUTSEDIT, 0);
@ -2869,7 +2876,8 @@ void special_aftertrans_update(TransInfo *t)
allqueue(REDRAWIPO, 0); allqueue(REDRAWIPO, 0);
} }
reset_slowparents(); if(resetslowpar)
reset_slowparents();
/* note; should actually only be done for all objects when a lamp is moved... (ton) */ /* note; should actually only be done for all objects when a lamp is moved... (ton) */
if(t->spacetype==SPACE_VIEW3D && G.vd->drawtype == OB_SHADED) if(t->spacetype==SPACE_VIEW3D && G.vd->drawtype == OB_SHADED)