]> git.mdlowis.com Git - proto/labwc.git/commitdiff
buffer: use cairo_surface_destroy()
authorJohan Malm <jgm323@gmail.com>
Sun, 13 Feb 2022 21:59:14 +0000 (21:59 +0000)
committerJohan Malm <jgm323@gmail.com>
Wed, 23 Feb 2022 21:47:01 +0000 (21:47 +0000)
...rather than free(buffer->data)

src/buffer.c

index 69f55251727a6f35626fed4bac0713b1d9951bec..8ce275a503be88a444d086ca6bdfb23ba209524a 100644 (file)
@@ -43,10 +43,9 @@ data_buffer_destroy(struct wlr_buffer *wlr_buffer)
 {
        struct lab_data_buffer *buffer = data_buffer_from_buffer(wlr_buffer);
        if (buffer->cairo) {
+               cairo_surface_t *surf = cairo_get_target(buffer->cairo);
                cairo_destroy(buffer->cairo);
-       }
-       if (buffer->data) {
-               free(buffer->data);
+               cairo_surface_destroy(surf);
        }
        free(buffer);
 }
@@ -96,7 +95,9 @@ buffer_create(uint32_t width, uint32_t height, float scale)
 
        if (!buffer->data) {
                cairo_destroy(buffer->cairo);
+               cairo_surface_destroy(surf);
                free(buffer);
+               buffer = NULL;
        }
        return buffer;
 }