[cogl/wip/example-crate: 16/20] attribute: some some sentinal array left over logic



commit a7c8afe9af2600788b5ee7feae41fdb6aa333057
Author: Robert Bragg <robert linux intel com>
Date:   Tue Jun 28 12:43:01 2011 +0100

    attribute: some some sentinal array left over logic
    
    It used to be that we passed around NULL terminated arrays of
    attributes, but since 3c1e83c7f we now explicitly pass an n_attributes
    count instead. There were some leftovers of the old approach in the
    cogl_vdraw_[indexed]_attributes functions and also there was an
    off-by-one error with the n_attributes values passed on which was
    causing crashes.

 cogl/cogl-attribute.c |    8 +++-----
 1 files changed, 3 insertions(+), 5 deletions(-)
---
diff --git a/cogl/cogl-attribute.c b/cogl/cogl-attribute.c
index 5327b02..d0bd85c 100644
--- a/cogl/cogl-attribute.c
+++ b/cogl/cogl-attribute.c
@@ -1156,8 +1156,7 @@ cogl_vdraw_attributes (CoglVerticesMode mode,
     ;
   va_end (ap);
 
-  attributes = g_alloca (sizeof (CoglAttribute *) * (n_attributes + 1));
-  attributes[n_attributes] = NULL;
+  attributes = g_alloca (sizeof (CoglAttribute *) * n_attributes);
 
   va_start (ap, n_vertices);
   for (i = 0; (attribute = va_arg (ap, CoglAttribute *)); i++)
@@ -1165,7 +1164,7 @@ cogl_vdraw_attributes (CoglVerticesMode mode,
   va_end (ap);
 
   cogl_draw_attributes (mode, first_vertex, n_vertices,
-                        attributes, i + 1);
+                        attributes, n_attributes);
 }
 
 static size_t
@@ -1274,8 +1273,7 @@ cogl_vdraw_indexed_attributes (CoglVerticesMode mode,
     ;
   va_end (ap);
 
-  attributes = g_alloca (sizeof (CoglAttribute *) * (n_attributes + 1));
-  attributes[n_attributes] = NULL;
+  attributes = g_alloca (sizeof (CoglAttribute *) * n_attributes);
 
   va_start (ap, indices);
   for (i = 0; (attribute = va_arg (ap, CoglAttribute *)); i++)



[Date Prev][Date Next]   [Thread Prev][Thread Next]   [Thread Index] [Date Index] [Author Index]