[cairo-commit] util/cairo-trace

Andrea Canciani ranma42 at kemper.freedesktop.org
Tue Jan 20 09:15:26 PST 2015


 util/cairo-trace/trace.c |    3 +--
 1 file changed, 1 insertion(+), 2 deletions(-)

New commits:
commit cca8b1960b0091c53235d9dc4cde8a33010c5bbf
Author: Emanuele Aina <emanuele.aina at collabora.com>
Date:   Tue Dec 16 14:58:55 2014 +0100

    cairo-trace: Fix duplicated surface push on similar-image
    
    The current code results in trace lines with the source surface being
    pushed on the stack two times instead of one:
    
    s1 s1 //ARGB32 48 48 similar-image % s2
    
    Instead of:
    
    s1 //ARGB32 48 48 similar-image % s2
    
    This greatly confuses later commands when the script was replayed,
    causing traces for trivial GTK3 programs to be unplayable, usually
    yielding the following error:
    "invalid value (typically too big) for the size of the input (surface, pattern, etc.)"
    
    Drop the duplicated entry from the trace line printed by the
    cairo_surface_create_similar_image() override.
    
    Fixes: https://bugs.freedesktop.org/show_bug.cgi?id=73580
    Signed-off-by: Emanuele Aina <emanuele.aina at collabora.com>

diff --git a/util/cairo-trace/trace.c b/util/cairo-trace/trace.c
index 4d34826..d5d7668 100644
--- a/util/cairo-trace/trace.c
+++ b/util/cairo-trace/trace.c
@@ -3738,8 +3738,7 @@ cairo_surface_create_similar_image (cairo_surface_t *other,
 	else
 	    _trace_printf ("%d index ",
 			   current_stack_depth - other_obj->operand - 1);
-	_trace_printf ("s%ld //%s %d %d similar-image %% s%ld\n",
-		       _get_surface_id (other),
+	_trace_printf ("//%s %d %d similar-image %% s%ld\n",
 		       _format_to_string (format),
 		       width, height,
 		       new_obj->token);


More information about the cairo-commit mailing list