summaryrefslogtreecommitdiffstatsci
path: root/src/caskbench.cpp
diff options
context:
space:
mode:
Diffstat (limited to 'src/caskbench.cpp')
-rw-r--r--src/caskbench.cpp33
1 files changed, 18 insertions, 15 deletions
diff --git a/src/caskbench.cpp b/src/caskbench.cpp
index 37ef20e..6fd2e48 100644
--- a/src/caskbench.cpp
+++ b/src/caskbench.cpp
@@ -340,23 +340,26 @@ context_setup_skia(caskbench_context_t *context, const char* surface_type)
}
void
-context_destroy(caskbench_context_t *context)
+context_destroy_skia(caskbench_context_t *context)
{
if (!context)
return;
- if (context->skia_device) {
- delete context->skia_paint;
- delete context->skia_canvas;
- delete context->skia_device;
- context->destroy_skia();
- context->skia_device = NULL;
- }
- if (context->cairo_cr) {
- cairo_destroy(context->cairo_cr);
- cairo_surface_destroy(context->cairo_surface);
- context->destroy_cairo();
- context->cairo_cr = NULL;
- }
+ delete context->skia_paint;
+ delete context->skia_canvas;
+ delete context->skia_device;
+ context->destroy_skia();
+ context->skia_device = NULL;
+}
+
+void
+context_destroy_cairo(caskbench_context_t *context)
+{
+ if (!context)
+ return;
+ cairo_destroy(context->cairo_cr);
+ cairo_surface_destroy(context->cairo_surface);
+ context->destroy_cairo();
+ context->cairo_cr = NULL;
}
void
@@ -493,7 +496,7 @@ main (int argc, char *argv[])
if (perf_tests[c].teardown != NULL)
perf_tests[c].teardown();
- context_destroy(&context);
+ perf_tests[c].context_destroy(&context);
}
if (opt.output_file) {