diff options
Diffstat (limited to 'boilerplate/cairo-boilerplate-xcb.c')
-rw-r--r-- | boilerplate/cairo-boilerplate-xcb.c | 4 |
1 files changed, 3 insertions, 1 deletions
diff --git a/boilerplate/cairo-boilerplate-xcb.c b/boilerplate/cairo-boilerplate-xcb.c index e301d1299..98b39ec58 100644 --- a/boilerplate/cairo-boilerplate-xcb.c +++ b/boilerplate/cairo-boilerplate-xcb.c @@ -174,6 +174,7 @@ find_depth (xcb_connection_t *connection, } static const cairo_user_data_key_t key; +static const cairo_user_data_key_t key2; struct similar { xcb_connection_t *connection; @@ -365,6 +366,7 @@ _cairo_boilerplate_xcb_create_surface (const char *name, render_format, width, height); cairo_device_set_user_data (cairo_surface_get_device (surface), &key, info, free); + cairo_device_set_user_data (cairo_surface_get_device (surface), &key2, info->formats, free); if (mode != CAIRO_BOILERPLATE_MODE_PERF) _cairo_boilerplate_xcb_setup_test_surface(surface); @@ -629,8 +631,8 @@ _cairo_boilerplate_xcb_create_render_0_0 (const char *name, xtc->drawable, render_format, width, height); + free (formats); if (cairo_surface_status (surface)) { - free (formats); xcb_disconnect (c); free (xtc); return surface; |