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-12 10:53:47 +0400
committerCampbell Barton <ideasman42@gmail.com>2012-03-12 10:53:47 +0400
commitaedd4af57e5777dd32585560980f4661ec4d491d (patch)
tree81d7514200d498b01ef621c83052cf5f42aac84f /source/blender/bmesh
parent0873cbaed5aea31f3fc8b16dacecb2d332c9b6f5 (diff)
code cleanup/bugfix uninitialized values
- edgebisect bmesh operator used uninialized beauty field. - BLI_join_dirfile could read from before the string bounds when passed an empty dir string. - pransform could use an uninitialized projected coordinate (unlikely but possible) - RNA_property_path_from_ID_check would compare against an uninitialized pointer when the path wasn't found. also have bmesh walker use BM_edge_other_vert() utility function.
Diffstat (limited to 'source/blender/bmesh')
-rw-r--r--source/blender/bmesh/intern/bmesh_walkers_impl.c11
-rw-r--r--source/blender/bmesh/operators/bmo_subdivide.c4
2 files changed, 6 insertions, 9 deletions
diff --git a/source/blender/bmesh/intern/bmesh_walkers_impl.c b/source/blender/bmesh/intern/bmesh_walkers_impl.c
index cd815c9be83..23d82f0ab34 100644
--- a/source/blender/bmesh/intern/bmesh_walkers_impl.c
+++ b/source/blender/bmesh/intern/bmesh_walkers_impl.c
@@ -256,8 +256,7 @@ static void *bmw_IslandboundWalker_step(BMWalker *walker)
owalk = *iwalk;
- if (iwalk->lastv == e->v1) v = e->v2;
- else v = e->v1;
+ v = BM_edge_other_vert(e, iwalk->lastv);
if (!BM_vert_is_manifold(walker->bm, v)) {
BMW_reset(walker);
@@ -411,10 +410,7 @@ static void bmw_LoopWalker_begin(BMWalker *walker, void *data)
lwalk = BMW_state_add(walker);
*lwalk = owalk;
- if (lwalk->lastv == owalk.cur->v1) lwalk->lastv = owalk.cur->v2;
- else lwalk->lastv = owalk.cur->v1;
-
- lwalk->startv = lwalk->lastv;
+ lwalk->lastv = lwalk->startv = BM_edge_other_vert(owalk.cur, lwalk->lastv);
BLI_ghash_free(walker->visithash, NULL, NULL);
walker->visithash = BLI_ghash_new(BLI_ghashutil_ptrhash, BLI_ghashutil_ptrcmp, "bmesh walkers 2");
@@ -625,8 +621,9 @@ static void *bmw_FaceLoopWalker_step(BMWalker *walker)
l = l->radial_next;
- if (lwalk->nocalc)
+ if (lwalk->nocalc) {
return f;
+ }
if (!bmw_FaceLoopWalker_include_face(walker, l)) {
l = lwalk->l;
diff --git a/source/blender/bmesh/operators/bmo_subdivide.c b/source/blender/bmesh/operators/bmo_subdivide.c
index 9a6d9e7b836..24f9c1e9937 100644
--- a/source/blender/bmesh/operators/bmo_subdivide.c
+++ b/source/blender/bmesh/operators/bmo_subdivide.c
@@ -1080,10 +1080,10 @@ void bmo_edgebisect_exec(BMesh *bm, BMOperator *op)
{
BMOIter siter;
BMEdge *e;
- SubDParams params;
+ SubDParams params = {0};
int skey;
- params.numcuts = BMO_slot_get(op, "numcuts")->data.i;
+ params.numcuts = BMO_slot_int_get(op, "numcuts");
params.op = op;
BM_data_layer_add(bm, &bm->vdata, CD_SHAPEKEY);