[libadwaita] avatar: Use auto cleanups for Cairo types
- From: Alexander Mikhaylenko <alexm src gnome org>
- To: commits-list gnome org
- Cc:
- Subject: [libadwaita] avatar: Use auto cleanups for Cairo types
- Date: Thu, 22 Jul 2021 12:55:34 +0000 (UTC)
commit a236e252157f023679bc60b1868e988f8629944e
Author: Adrien Plazas <kekun plazas laposte net>
Date: Thu Jul 22 08:15:41 2021 +0200
avatar: Use auto cleanups for Cairo types
Let's do it as much as possible.
src/adw-avatar.c | 18 ++++++++----------
1 file changed, 8 insertions(+), 10 deletions(-)
---
diff --git a/src/adw-avatar.c b/src/adw-avatar.c
index 47755450..cad88ae2 100644
--- a/src/adw-avatar.c
+++ b/src/adw-avatar.c
@@ -42,6 +42,9 @@
* Since: 1.0
*/
+G_DEFINE_AUTOPTR_CLEANUP_FUNC (cairo_t, cairo_destroy);
+G_DEFINE_AUTOPTR_CLEANUP_FUNC (cairo_surface_t, cairo_surface_destroy);
+
struct _AdwAvatar
{
GtkWidget parent_instance;
@@ -700,9 +703,8 @@ adw_avatar_draw_to_pixbuf (AdwAvatar *self,
{
GtkSnapshot *snapshot;
g_autoptr (GskRenderNode) node = NULL;
- GdkPixbuf *avatar;
- cairo_surface_t *surface;
- cairo_t *cr;
+ g_autoptr (cairo_surface_t) surface = NULL;
+ g_autoptr (cairo_t) cr = NULL;
graphene_rect_t bounds;
g_return_val_if_fail (ADW_IS_AVATAR (self), NULL);
@@ -728,11 +730,7 @@ adw_avatar_draw_to_pixbuf (AdwAvatar *self,
gsk_render_node_draw (node, cr);
- avatar = gdk_pixbuf_get_from_surface (surface, 0, 0,
- bounds.size.width,
- bounds.size.height);
- cairo_surface_destroy (surface);
- cairo_destroy (cr);
-
- return avatar;
+ return gdk_pixbuf_get_from_surface (surface, 0, 0,
+ bounds.size.width,
+ bounds.size.height);
}
[
Date Prev][
Date Next] [
Thread Prev][
Thread Next]
[
Thread Index]
[
Date Index]
[
Author Index]