Bugfix: [#20403] transform manipulation widgets with normal coordinates

Disable manipulator drawing during transform
This commit is contained in:
Martin Poirier 2009-12-17 17:50:55 +00:00
parent fcaad00bda
commit 509c2e9614
3 changed files with 19 additions and 1 deletions

@ -302,9 +302,10 @@ typedef struct TransInfo {
void (*customFree)(struct TransInfo *); /* if a special free function is needed */ void (*customFree)(struct TransInfo *); /* if a special free function is needed */
/*************** NEW STUFF *********************/ /*************** NEW STUFF *********************/
short launch_event; /* event type used to launch transform */ short launch_event; /* event type used to launch transform */
short current_orientation; short current_orientation;
short twtype; /* backup from view3d, to restore on end */
short prop_mode; short prop_mode;

@ -5006,6 +5006,17 @@ void special_aftertrans_update(bContext *C, TransInfo *t)
clear_trans_object_base_flags(t); clear_trans_object_base_flags(t);
if(t->spacetype == SPACE_VIEW3D)
{
View3D *v3d = t->view;
/* restore manipulator */
if (t->flag & T_MODAL) {
v3d->twtype = t->twtype;
}
}
#if 0 // TRANSFORM_FIX_ME #if 0 // TRANSFORM_FIX_ME
if(resetslowpar) if(resetslowpar)
reset_slowparents(); reset_slowparents();

@ -927,6 +927,12 @@ int initTransInfo (bContext *C, TransInfo *t, wmOperator *op, wmEvent *event)
t->view = v3d; t->view = v3d;
t->animtimer= CTX_wm_screen(C)->animtimer; t->animtimer= CTX_wm_screen(C)->animtimer;
/* turn manipulator off during transform */
if (t->flag & T_MODAL) {
t->twtype = v3d->twtype;
v3d->twtype = 0;
}
if(v3d->flag & V3D_ALIGN) t->flag |= T_V3D_ALIGN; if(v3d->flag & V3D_ALIGN) t->flag |= T_V3D_ALIGN;
t->around = v3d->around; t->around = v3d->around;