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:
authorCampbell Barton <ideasman42@gmail.com>2012-03-08 05:22:49 +0400
committerCampbell Barton <ideasman42@gmail.com>2012-03-08 05:22:49 +0400
commit081aa382ed39970f104532cf9f359fb2aa0da5ee (patch)
tree63eeb584e1878b65a56bd77459c77893b19f06aa /source/blender/editors/transform/transform.c
parent52db32bb53cf4d1b8b098238b1e896e8502027d2 (diff)
fix
- access to a meshs editmesh before the pointer was checked to be a mesh. - uninitialized memory use in transform (not a problem practically but nice to quiet the error in valgrind).
Diffstat (limited to 'source/blender/editors/transform/transform.c')
-rw-r--r--source/blender/editors/transform/transform.c18
1 files changed, 10 insertions, 8 deletions
diff --git a/source/blender/editors/transform/transform.c b/source/blender/editors/transform/transform.c
index 7bd0aaf89db..64c4cacb8b6 100644
--- a/source/blender/editors/transform/transform.c
+++ b/source/blender/editors/transform/transform.c
@@ -136,15 +136,13 @@ static void convertViewVec2D(View2D *v2d, float vec[3], int dx, int dy)
vec[2]= 0.0f;
}
-void convertViewVec(TransInfo *t, float *vec, int dx, int dy)
+void convertViewVec(TransInfo *t, float vec[3], int dx, int dy)
{
- if(t->spacetype==SPACE_VIEW3D) {
- if(t->ar->regiontype == RGN_TYPE_WINDOW) {
- float mval_f[2];
- mval_f[0]= dx;
- mval_f[1]= dy;
- ED_view3d_win_to_delta(t->ar, mval_f, vec);
- }
+ if ((t->spacetype == SPACE_VIEW3D) && (t->ar->regiontype == RGN_TYPE_WINDOW)) {
+ float mval_f[2];
+ mval_f[0] = dx;
+ mval_f[1] = dy;
+ ED_view3d_win_to_delta(t->ar, mval_f, vec);
}
else if(t->spacetype==SPACE_IMAGE) {
float aspx, aspy;
@@ -172,6 +170,10 @@ void convertViewVec(TransInfo *t, float *vec, int dx, int dy)
vec[1]= (v2d->cur.ymax-v2d->cur.ymin)*(dy)/divy;
vec[2]= 0.0f;
}
+ else {
+ printf("%s: called in an invalid context\n", __func__);
+ zero_v3(vec);
+ }
}
void projectIntView(TransInfo *t, float *vec, int *adr)