[Bf-blender-cvs] [f4484da] master: Correct IS_EMPTY macro

Campbell Barton noreply at git.blender.org
Tue Jul 8 23:55:16 CEST 2014


Commit: f4484daed341f879b9cd6b16e4ffa809ccf3d81c
Author: Campbell Barton
Date:   Wed Jul 9 07:52:06 2014 +1000
https://developer.blender.org/rBf4484daed341f879b9cd6b16e4ffa809ccf3d81c

Correct IS_EMPTY macro

also prevent reading from BM_ELEM_API_FLAG_ get/setters

===================================================================

M	source/blender/blenlib/BLI_linklist_stack.h
M	source/blender/bmesh/intern/bmesh_private.h

===================================================================

diff --git a/source/blender/blenlib/BLI_linklist_stack.h b/source/blender/blenlib/BLI_linklist_stack.h
index d3d1924..84e7130 100644
--- a/source/blender/blenlib/BLI_linklist_stack.h
+++ b/source/blender/blenlib/BLI_linklist_stack.h
@@ -160,7 +160,7 @@
 	                             _##var##_stack->link : NULL))
 
 #define BLI_SMALLSTACK_IS_EMPTY(var) \
-	(_BLI_SMALLSTACK_CAST(var) (_##var##_stack != NULL))
+	((_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_private.h b/source/blender/bmesh/intern/bmesh_private.h
index cac4713..731c364 100644
--- a/source/blender/bmesh/intern/bmesh_private.h
+++ b/source/blender/bmesh/intern/bmesh_private.h
@@ -67,10 +67,10 @@ enum {
 	_FLAG_OVERLAP  = (1 << 2)   /* general overlap flag  */
 };
 
-#define BM_ELEM_API_FLAG_ENABLE(element, f)  ((element)->head.api_flag |=  (f))
-#define BM_ELEM_API_FLAG_DISABLE(element, f) ((element)->head.api_flag &= ~(f))
-#define BM_ELEM_API_FLAG_TEST(element, f)    ((element)->head.api_flag &   (f))
-#define BM_ELEM_API_FLAG_CLEAR(element)      ((element)->head.api_flag = 0)
+#define BM_ELEM_API_FLAG_ENABLE(element, f)  { ((element)->head.api_flag |=  (f)); } (void)0
+#define BM_ELEM_API_FLAG_DISABLE(element, f) { ((element)->head.api_flag &= ~(f)); } (void)0
+#define BM_ELEM_API_FLAG_TEST(element, f)      ((element)->head.api_flag &   (f))
+#define BM_ELEM_API_FLAG_CLEAR(element)      { ((element)->head.api_flag = 0); } (void)0
 
 void poly_rotate_plane(const float normal[3], float (*verts)[3], unsigned const int nverts);




More information about the Bf-blender-cvs mailing list