Welcome to mirror list, hosted at ThFree Co, Russian Federation.

git.blender.org/blender.git - Unnamed repository; edit this file 'description' to name the repository.
summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorSergey Sharybin <sergey.vfx@gmail.com>2013-06-10 13:45:51 +0400
committerSergey Sharybin <sergey.vfx@gmail.com>2013-06-10 13:45:51 +0400
commit84429e5d39fc6f0923794484f17d886aa212be69 (patch)
tree10aca14be684f86cde6ab199d0717b4131c8d048 /source/blender
parentcae0d9df523f9bb0a19a9487541be3d05197b940 (diff)
Fix #35683: Addon working fine in console. But crashed when click GUI button.
Crash happened in ED_view3d_calc_zfac and happend in cases operator was invoked from a region different from RGN_TYPE_WINDOW. For a transformation zfac is only used in convertViewVec in cases region is RGN_TYPE_WINDOW, so solved by just adding extra check in calculateCenter for this particular case.
Diffstat (limited to 'source/blender')
-rw-r--r--source/blender/editors/transform/transform_generics.c14
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;
+ }
}
}