cogl-clip-stack: Set *stencil_used_p when the stack is empty
authorNeil Roberts <neil@linux.intel.com>
Thu, 6 May 2010 13:15:04 +0000 (14:15 +0100)
committerNeil Roberts <neil@linux.intel.com>
Thu, 6 May 2010 13:15:04 +0000 (14:15 +0100)
If the clip stack is empty then _cogl_clip_stack_flush exits
immediately. This was missing out the assignment of *stencil_used_p at
the bottom of the function. If a path is then used after the clip is
cleared then it would think it needs to merge with the clip so the
stencil would not be cleared correctly.

clutter/cogl/cogl/cogl-clip-stack.c

index eb2f04a..87a2163 100644 (file)
@@ -555,7 +555,10 @@ _cogl_clip_stack_flush (CoglHandle handle,
 
   /* If the stack is empty then there's nothing else to do */
   if (stack->stack_top == NULL)
-    return;
+    {
+      *stencil_used_p = FALSE;
+      return;
+    }
 
   /* Add all of the entries. This will end up adding them in the
      reverse order that they were specified but as all of the clips