summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorRobert Bragg <robert@linux.intel.com>2011-06-28 12:43:01 +0100
committerRobert Bragg <robert@linux.intel.com>2011-06-28 12:49:31 +0100
commita7c8afe9af2600788b5ee7feae41fdb6aa333057 (patch)
tree9cef2be39d5671927ab6156bf99833306769c536
parent66ab889bb20d843518997458b41299a5abc02db0 (diff)
downloadcogl-a7c8afe9af2600788b5ee7feae41fdb6aa333057.tar.gz
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.
-rw-r--r--cogl/cogl-attribute.c8
1 files changed, 3 insertions, 5 deletions
diff --git a/cogl/cogl-attribute.c b/cogl/cogl-attribute.c
index 5327b026..d0bd85c7 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++)