r300g: Fix macro
authornobled <nobled@dreamwidth.org>
Sun, 15 Aug 2010 02:50:04 +0000 (02:50 +0000)
committerMarek Olšák <maraeo@gmail.com>
Mon, 16 Aug 2010 02:59:13 +0000 (04:59 +0200)
This fixes a potential bug if (has_hyperz) is false
(it would still init the atom as if has_hyperz were true).

Signed-off-by: Marek Olšák <maraeo@gmail.com>
src/gallium/drivers/r300/r300_context.c

index e8b6c4f7af8e90e78c580a082e1a31d97ee36726..23b654e0c8c5059e8add1a7f3de69a83c0d90c9a 100644 (file)
@@ -158,12 +158,14 @@ void r300_flush_cb(void *data)
 }
 
 #define R300_INIT_ATOM(atomname, atomsize) \
+ do { \
     r300->atomname.name = #atomname; \
     r300->atomname.state = NULL; \
     r300->atomname.size = atomsize; \
     r300->atomname.emit = r300_emit_##atomname; \
     r300->atomname.dirty = FALSE; \
-    insert_at_tail(&r300->atom_list, &r300->atomname);
+    insert_at_tail(&r300->atom_list, &r300->atomname); \
+ } while (0)
 
 static void r300_setup_atoms(struct r300_context* r300)
 {