mirror of
https://github.com/labwc/labwc.git
synced 2025-11-14 06:59:54 -05:00
buffer: remove buffer->cairo
It's more common for cairo_t to have a temporary lifetime and it will prevent accidentally reusing its previous state.
This commit is contained in:
parent
c48324975d
commit
4502d58eec
8 changed files with 39 additions and 22 deletions
|
|
@ -41,7 +41,7 @@ img_svg_load(const char *filename, struct lab_data_buffer **buffer, int size,
|
|||
|
||||
*buffer = buffer_create_cairo(size, size, scale);
|
||||
cairo_surface_t *image = (*buffer)->surface;
|
||||
cairo_t *cr = (*buffer)->cairo;
|
||||
cairo_t *cr = cairo_create(image);
|
||||
|
||||
rsvg_handle_render_document(svg, cr, &viewport, &err);
|
||||
if (err) {
|
||||
|
|
@ -55,6 +55,7 @@ img_svg_load(const char *filename, struct lab_data_buffer **buffer, int size,
|
|||
goto error;
|
||||
}
|
||||
cairo_surface_flush(image);
|
||||
cairo_destroy(cr);
|
||||
|
||||
g_object_unref(svg);
|
||||
return;
|
||||
|
|
@ -62,5 +63,6 @@ img_svg_load(const char *filename, struct lab_data_buffer **buffer, int size,
|
|||
error:
|
||||
wlr_buffer_drop(&(*buffer)->base);
|
||||
*buffer = NULL;
|
||||
cairo_destroy(cr);
|
||||
g_object_unref(svg);
|
||||
}
|
||||
|
|
|
|||
Loading…
Add table
Add a link
Reference in a new issue