From 5ae1c4607014733a9df71d065ab5bda36f0fd443 Mon Sep 17 00:00:00 2001 From: atomizer Date: Tue, 19 Apr 2011 23:50:28 +0400 Subject: [PATCH] preserve current path during fillRect() and strokeRect() Signed-off-by: Tj Holowaychuk --- src/CanvasRenderingContext2d.cc | 6 ++++-- 1 file changed, 4 insertions(+), 2 deletions(-) diff --git a/src/CanvasRenderingContext2d.cc b/src/CanvasRenderingContext2d.cc index 17cf9d4..15cfdd5 100644 --- a/src/CanvasRenderingContext2d.cc +++ b/src/CanvasRenderingContext2d.cc @@ -1640,9 +1640,10 @@ Context2d::FillRect(const Arguments &args) { if (0 == width || 0 == height) return Undefined(); Context2d *context = ObjectWrap::Unwrap(args.This()); cairo_t *ctx = context->context(); - cairo_new_path(ctx); + context->savePath(); cairo_rectangle(ctx, x, y, width, height); context->fill(); + context->restorePath(); return Undefined(); } @@ -1657,9 +1658,10 @@ Context2d::StrokeRect(const Arguments &args) { if (0 == width && 0 == height) return Undefined(); Context2d *context = ObjectWrap::Unwrap(args.This()); cairo_t *ctx = context->context(); - cairo_new_path(ctx); + context->savePath(); cairo_rectangle(ctx, x, y, width, height); context->stroke(); + context->restorePath(); return Undefined(); }