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-10 02:46:35 +0400
committerCampbell Barton <ideasman42@gmail.com>2014-05-10 03:29:34 +0400
commitc3a3664e8c7b196091a786251293012002735b91 (patch)
tree5f28476f48df9f8c26356d6e33fa02720ad6bbe4
parentfd26a32aa5336b6c5fd3e8a9fc5fc618b2590bb1 (diff)
Utility macros for linklist stack & asserts for bmesh
-rw-r--r--source/blender/blenlib/BLI_linklist_stack.h7
-rw-r--r--source/blender/bmesh/intern/bmesh_core.c5
2 files changed, 11 insertions, 1 deletions
diff --git a/source/blender/blenlib/BLI_linklist_stack.h b/source/blender/blenlib/BLI_linklist_stack.h
index 1933dd733c3..5f4f98c5a4f 100644
--- a/source/blender/blenlib/BLI_linklist_stack.h
+++ b/source/blender/blenlib/BLI_linklist_stack.h
@@ -155,6 +155,13 @@
(_BLI_SMALLSTACK_CAST(var_src) ((_##var_src##_stack) ? \
(_BLI_SMALLSTACK_DEL_EX(var_src, var_dst), (_##var_dst##_free->link)) : NULL))
+#define BLI_SMALLSTACK_LAST(var) \
+ (_BLI_SMALLSTACK_CAST(var) ((_##var##_stack) ? \
+ _##var##_stack->link : NULL))
+
+#define BLI_SMALLSTACK_IS_EMPTY(var) \
+ (_BLI_SMALLSTACK_CAST(var) (_##var##_stack != NULL))
+
/* loop over stack members last-added-first */
#define BLI_SMALLSTACK_ITER_BEGIN(var, item) \
{ \
diff --git a/source/blender/bmesh/intern/bmesh_core.c b/source/blender/bmesh/intern/bmesh_core.c
index 4c70305476f..1f81b59badc 100644
--- a/source/blender/bmesh/intern/bmesh_core.c
+++ b/source/blender/bmesh/intern/bmesh_core.c
@@ -132,7 +132,10 @@ BMEdge *BM_edge_create(BMesh *bm, BMVert *v1, BMVert *v2,
const BMEdge *e_example, const eBMCreateFlag create_flag)
{
BMEdge *e;
-
+
+ BLI_assert(v1 != v2);
+ BLI_assert(v1->head.htype == BM_VERT && v2->head.htype == BM_VERT);
+
if ((create_flag & BM_CREATE_NO_DOUBLE) && (e = BM_edge_exists(v1, v2)))
return e;