diff options
Diffstat (limited to 'source')
-rw-r--r-- | source/blender/editors/transform/transform_generics.c | 14 |
1 files changed, 13 insertions, 1 deletions
diff --git a/source/blender/editors/transform/transform_generics.c b/source/blender/editors/transform/transform_generics.c index a2957263ba9..6b0139aa8d9 100644 --- a/source/blender/editors/transform/transform_generics.c +++ b/source/blender/editors/transform/transform_generics.c @@ -1711,7 +1711,19 @@ void calculateCenter(TransInfo *t) else { copy_v3_v3(vec, t->center); } - t->zfac = ED_view3d_calc_zfac(t->ar->regiondata, vec, NULL); + + /* zfac is only used convertViewVec only in cases operator was invoked in RGN_TYPE_WINDOW + * and never used in other cases. + * + * We need special case here as well, since ED_view3d_calc_zfac will crahs when called + * for a region different from RGN_TYPE_WINDOW. + */ + if (t->ar->regiontype == RGN_TYPE_WINDOW) { + t->zfac = ED_view3d_calc_zfac(t->ar->regiondata, vec, NULL); + } + else { + t->zfac = 0.0f; + } } } |