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.
/* 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