From c1b0e73578fe2528c8e68e309fd602acaef42e67 Mon Sep 17 00:00:00 2001 From: Chris Wilson Date: Fri, 29 Jul 2011 12:06:02 +0100 Subject: [PATCH] record: Only reduce fill+stroke if the clip doesn't change between the commands Pointed out by Adrian Johnson. Signed-off-by: Chris Wilson --- src/cairo-recording-surface.c | 4 +++- 1 file changed, 3 insertions(+), 1 deletion(-) diff --git a/src/cairo-recording-surface.c b/src/cairo-recording-surface.c index 6ad276e86..bb9b2dd1b 100644 --- a/src/cairo-recording-surface.c +++ b/src/cairo-recording-surface.c @@ -1323,7 +1323,9 @@ _cairo_recording_surface_replay_internal (cairo_recording_surface_t *surface, if (stroke_command != NULL && stroke_command->header.type == CAIRO_COMMAND_STROKE && _cairo_path_fixed_equal (&command->fill.path, - &stroke_command->stroke.path)) + &stroke_command->stroke.path) && + _cairo_clip_equal (command->header.clip, + stroke_command->header.clip)) { status = _cairo_surface_wrapper_fill_stroke (&wrapper, command->header.op,