[Bf-blender-cvs] SVN commit: /data/svn/bf-blender [57336] trunk/blender/source/blender/ editors/transform/transform_generics.c: Fix #35683: Addon working fine in console.
Sergey Sharybin
sergey.vfx at gmail.com
Mon Jun 10 11:45:52 CEST 2013
Revision: 57336
http://projects.blender.org/scm/viewvc.php?view=rev&root=bf-blender&revision=57336
Author: nazgul
Date: 2013-06-10 09:45:51 +0000 (Mon, 10 Jun 2013)
Log Message:
-----------
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.
Modified Paths:
--------------
trunk/blender/source/blender/editors/transform/transform_generics.c
Modified: trunk/blender/source/blender/editors/transform/transform_generics.c
===================================================================
--- trunk/blender/source/blender/editors/transform/transform_generics.c 2013-06-10 08:28:39 UTC (rev 57335)
+++ trunk/blender/source/blender/editors/transform/transform_generics.c 2013-06-10 09:45:51 UTC (rev 57336)
@@ -1711,7 +1711,19 @@
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;
+ }
}
}
More information about the Bf-blender-cvs
mailing list