for (i = 0; i < num_iters; i++)
draw (cr, layout, i);
+ g_object_unref (layout);
+
+ cairo_destroy (cr);
+
return 0;
}
for (i = 0; i < num_threads; i++)
g_thread_join (g_ptr_array_index (threads, i));
+ g_ptr_array_free (threads, TRUE);
+
/* Now, draw a reference image and check results. */
{
cairo_surface_t *ref_surface = create_surface ();
draw (cr, layout, num_iters - 1);
+ g_object_unref (layout);
+ cairo_destroy (cr);
+
/* cairo_surface_write_to_png (ref_surface, "test-pangocairo-threads-reference.png"); */
g_assert (WIDTH == cairo_format_stride_for_width (CAIRO_FORMAT_A8, WIDTH));
cairo_surface_write_to_png (surface, "test-pangocairo-threads-failed.png");
return 1;
}
+ cairo_surface_destroy (surface);
}
+
+ cairo_surface_destroy (ref_surface);
}
+ g_ptr_array_free (surfaces, TRUE);
+
+ pango_cairo_font_map_set_default (NULL);
+
return 0;
}