From 5156365eae7307ad3e0ae6e6210e2d308d069ca2 Mon Sep 17 00:00:00 2001
From: Robert Bragg <robert@linux.intel.com>
Date: Sun, 20 Nov 2011 19:02:33 +0000
Subject: [PATCH] path: use cogl_framebuffer_push_path_clip in cogl2-path.c

_cogl_path_fill_nodes_with_clipped_rectangle() sometimes falls back to
pushing a framebuffer clip region and filling the region using
cogl_rectangle(). Since we aim to eventually deprecate
cogl_clip_push_from_path() as it relies on the default CoglContext we
would rather this internal code update a framebuffer's clip-state using
the cogl_framebuffer clip stack api instead.

Reviewed-by: Neil Roberts <neil@linux.intel.com>
---
 cogl/cogl2-path.c | 7 +++++--
 1 file changed, 5 insertions(+), 2 deletions(-)

diff --git a/cogl/cogl2-path.c b/cogl/cogl2-path.c
index 8dd21ebcf..781b88477 100644
--- a/cogl/cogl2-path.c
+++ b/cogl/cogl2-path.c
@@ -272,6 +272,8 @@ _cogl_path_get_bounds (CoglPath *path,
 static void
 _cogl_path_fill_nodes_with_clipped_rectangle (CoglPath *path)
 {
+  CoglFramebuffer *fb;
+
   _COGL_GET_CONTEXT (ctx, NO_RETVAL);
 
   if (!(ctx->private_feature_flags & COGL_PRIVATE_FEATURE_STENCIL_BUFFER))
@@ -287,12 +289,13 @@ _cogl_path_fill_nodes_with_clipped_rectangle (CoglPath *path)
         }
     }
 
-  cogl_clip_push_from_path (path);
+  fb = cogl_get_draw_framebuffer ();
+  cogl_framebuffer_push_path_clip (fb, path);
   cogl_rectangle (path->data->path_nodes_min.x,
                   path->data->path_nodes_min.y,
                   path->data->path_nodes_max.x,
                   path->data->path_nodes_max.y);
-  cogl_clip_pop ();
+  cogl_framebuffer_pop_clip (fb);
 }
 
 static gboolean