From 7ea3203f5459e206d0d15fe115cb08a54772cd43 Mon Sep 17 00:00:00 2001
From: =?UTF-8?q?Alberts=20Muktup=C4=81vels?= <alberts.muktupavels@gmail.com>
Date: Wed, 24 May 2017 12:25:52 +0300
Subject: [PATCH] wnck-image-menu-item: fix memory leak
---
libwnck/wnck-image-menu-item.c | 16 ++++++++++++++++
1 file changed, 16 insertions(+)
diff --git a/libwnck/wnck-image-menu-item.c b/libwnck/wnck-image-menu-item.c
index b1d4c26..e8e6d87 100644
--- a/libwnck/wnck-image-menu-item.c
+++ b/libwnck/wnck-image-menu-item.c
@@ -36,6 +36,18 @@ struct _WnckImageMenuItem
G_DEFINE_TYPE (WnckImageMenuItem, wnck_image_menu_item, GTK_TYPE_MENU_ITEM)
static void
+wnck_image_menu_item_finalize (GObject *object)
+{
+ WnckImageMenuItem *item;
+
+ item = WNCK_IMAGE_MENU_ITEM (object);
+
+ g_clear_pointer (&item->label, g_free);
+
+ G_OBJECT_CLASS (wnck_image_menu_item_parent_class)->finalize (object);
+}
+
+static void
wnck_image_menu_item_get_preferred_width (GtkWidget *widget,
gint *minimum,
gint *natural)
@@ -146,12 +158,16 @@ wnck_image_menu_item_set_label (GtkMenuItem *menu_item,
static void
wnck_image_menu_item_class_init (WnckImageMenuItemClass *item_class)
{
+ GObjectClass *object_class;
GtkWidgetClass *widget_class;
GtkMenuItemClass *menu_item_class;
+ object_class = G_OBJECT_CLASS (item_class);
widget_class = GTK_WIDGET_CLASS (item_class);
menu_item_class = GTK_MENU_ITEM_CLASS (item_class);
+ object_class->finalize = wnck_image_menu_item_finalize;
+
widget_class->get_preferred_width = wnck_image_menu_item_get_preferred_width;
widget_class->size_allocate = wnck_image_menu_item_size_allocate;
--
2.11.0