diff --git a/perf/cairo-perf-trace.c b/perf/cairo-perf-trace.c index d34790834..78c540268 100644 --- a/perf/cairo-perf-trace.c +++ b/perf/cairo-perf-trace.c @@ -278,6 +278,10 @@ describe (cairo_perf_t *perf, { char *description = NULL; + if (perf->has_described_backend) + return; + perf->has_described_backend = TRUE; + if (perf->target->describe) description = perf->target->describe (closure); @@ -827,6 +831,7 @@ main (int argc, perf.target = target; perf.test_number = 0; + perf.has_described_backend = FALSE; if (perf.exact_names) { for (n = 0; n < perf.num_names; n++) { diff --git a/perf/cairo-perf.h b/perf/cairo-perf.h index ff177c4be..0b90dda4d 100644 --- a/perf/cairo-perf.h +++ b/perf/cairo-perf.h @@ -91,6 +91,7 @@ typedef struct _cairo_perf { const cairo_boilerplate_target_t **targets; int num_targets; const cairo_boilerplate_target_t *target; + cairo_bool_t has_described_backend; unsigned int test_number; unsigned int size; cairo_t *cr;