From 1d5340b93cfe4900c99e9be233eaa8aead50a514 Mon Sep 17 00:00:00 2001 From: Mohammed Sadiq Date: Tue, 20 Jul 2021 17:28:41 +0530 Subject: [PATCH 1/2] avatar: Fix memory leaks --- src/adw-avatar.c | 11 ++++++++--- 1 file changed, 8 insertions(+), 3 deletions(-) diff --git a/src/adw-avatar.c b/src/adw-avatar.c index a72f5bf6b..477554509 100644 --- a/src/adw-avatar.c +++ b/src/adw-avatar.c @@ -700,6 +700,7 @@ adw_avatar_draw_to_pixbuf (AdwAvatar *self, { GtkSnapshot *snapshot; g_autoptr (GskRenderNode) node = NULL; + GdkPixbuf *avatar; cairo_surface_t *surface; cairo_t *cr; graphene_rect_t bounds; @@ -727,7 +728,11 @@ adw_avatar_draw_to_pixbuf (AdwAvatar *self, gsk_render_node_draw (node, cr); - return gdk_pixbuf_get_from_surface (surface, 0, 0, - bounds.size.width, - bounds.size.height); + avatar = gdk_pixbuf_get_from_surface (surface, 0, 0, + bounds.size.width, + bounds.size.height); + cairo_surface_destroy (surface); + cairo_destroy (cr); + + return avatar; } -- GitLab From 2c81acd1971e92fde0f6587305dcff9d15081dad Mon Sep 17 00:00:00 2001 From: Mohammed Sadiq Date: Tue, 20 Jul 2021 17:28:59 +0530 Subject: [PATCH 2/2] demo-window: Fix a memory leak --- examples/adw-demo-window.c | 8 ++++++-- 1 file changed, 6 insertions(+), 2 deletions(-) diff --git a/examples/adw-demo-window.c b/examples/adw-demo-window.c index 3fcd6924b..01fbc7b85 100644 --- a/examples/adw-demo-window.c +++ b/examples/adw-demo-window.c @@ -270,8 +270,12 @@ file_chooser_response_cb (AdwDemoWindow *self, adw_avatar_get_size (self->avatar), gtk_widget_get_scale_factor (GTK_WIDGET (self))); - if (pixbuf != NULL) - gdk_pixbuf_save (pixbuf, g_file_get_path (file), "png", NULL, NULL); + if (pixbuf != NULL) { + g_autofree char *path = NULL; + + path = g_file_get_path (file); + gdk_pixbuf_save (pixbuf, path, "png", NULL, NULL); + } } g_object_unref (chooser); -- GitLab