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>2014-05-23 11:05:57 +0400
committerCampbell Barton <ideasman42@gmail.com>2014-05-23 14:50:27 +0400
commitd82cd4d5ef877d22e5daeaa8e6df50f26cde58db (patch)
tree31059edd4bb120b4d28e414ac31cccde467f2436 /source/blender/bmesh/intern/bmesh_walkers.c
parent90449f99503c9fddeb683511e8a3b3850aacb1ec (diff)
BMesh Walker: typecheck args for walker->begin()
Diffstat (limited to 'source/blender/bmesh/intern/bmesh_walkers.c')
-rw-r--r--source/blender/bmesh/intern/bmesh_walkers.c3
1 files changed, 3 insertions, 0 deletions
diff --git a/source/blender/bmesh/intern/bmesh_walkers.c b/source/blender/bmesh/intern/bmesh_walkers.c
index 75513a48d98..8f74e98e762 100644
--- a/source/blender/bmesh/intern/bmesh_walkers.c
+++ b/source/blender/bmesh/intern/bmesh_walkers.c
@@ -60,6 +60,8 @@
void *BMW_begin(BMWalker *walker, void *start)
{
+ BLI_assert(((BMHeader *)start)->htype & walker->begin_htype);
+
walker->begin(walker, start);
return BMW_current_state(walker) ? walker->step(walker) : NULL;
@@ -100,6 +102,7 @@ void BMW_init(BMWalker *walker, BMesh *bm, int type,
}
if (type != BMW_CUSTOM) {
+ walker->begin_htype = bm_walker_types[type]->begin_htype;
walker->begin = bm_walker_types[type]->begin;
walker->yield = bm_walker_types[type]->yield;
walker->step = bm_walker_types[type]->step;