From b833d26b3fc7604993b2fb695b6427303b2f30c2 Mon Sep 17 00:00:00 2001
From: Plamena Manolova <plamena.n.manolova@intel.com>
Date: Wed, 20 Mar 2013 14:25:19 +0000
Subject: [PATCH] Fix multiple snippet interleaving bug

Interleaving multiple snippets with different hooks
(COGL_SNIPPET_HOOK_VERTEX and COGL_SNIPPET_HOOK_VERTEX_TRANSFORM,
for instance) used to cause a bug during shader code generation.

Reviewed-by: Neil Roberts <neil@linux.intel.com>

(cherry picked from commit 38ca76695d54bbbfe3b940a6d0b2ae879e6fd66b)
---
 cogl/cogl-pipeline-snippet.c | 3 ++-
 1 file changed, 2 insertions(+), 1 deletion(-)

diff --git a/cogl/cogl-pipeline-snippet.c b/cogl/cogl-pipeline-snippet.c
index 0e0f62092..8bfa8be54 100644
--- a/cogl/cogl-pipeline-snippet.c
+++ b/cogl/cogl-pipeline-snippet.c
@@ -100,7 +100,7 @@ _cogl_pipeline_snippet_generate_code (const CoglPipelineSnippetData *data)
 
   for (snippet = first_snippet, snippet_num = 0;
        snippet_num < n_snippets;
-       snippet = COGL_LIST_NEXT (snippet, list_node), snippet_num++)
+       snippet = COGL_LIST_NEXT (snippet, list_node))
     if (snippet->snippet->hook == data->hook)
       {
         const char *source;
@@ -180,6 +180,7 @@ _cogl_pipeline_snippet_generate_code (const CoglPipelineSnippetData *data)
                                   data->return_variable);
 
         g_string_append (data->source_buf, "}\n");
+        snippet_num++;
       }
 }