cogl-vertex-buffer: Refix disabling texture coord arrays
authorNeil Roberts <neil@linux.intel.com>
Wed, 3 Feb 2010 14:31:12 +0000 (14:31 +0000)
committerNeil Roberts <neil@linux.intel.com>
Wed, 3 Feb 2010 14:31:12 +0000 (14:31 +0000)
Commit 92a375ab4 changed the initial value of max_texcoord_attrib_unit
to -1 so that it could disable the texture coord array for the first
texture unit when there are no texture coords used in the vbo. However
max_texcoord_attrib_unit was an unsigned value so this actually became
G_MAXUINT. The disabling loop at the bottom still worked because
G_MAXUINT+1==0 but the check for whether any texture unit is greater
than max_texcoord_attrib_unit was failing so it would always end up
disabling all texture units. This is now fixed by changing
max_texcoord_attrib_unit to be signed.

clutter/cogl/cogl/cogl-vertex-buffer.c

index 5ced90a..ff2d284 100644 (file)
@@ -1512,7 +1512,7 @@ enable_state_for_drawing_buffer (CoglVertexBuffer *buffer)
   GLuint       generic_index = 0;
 #endif
   gulong       enable_flags = 0;
-  guint        max_texcoord_attrib_unit = -1;
+  gint         max_texcoord_attrib_unit = -1;
   const GList *layers;
   guint32      fallback_layers = 0;
   guint32      disable_layers = ~0;