Ubuntu Pastebin

Paste from muktupavels at Wed, 24 May 2017 09:27:42 +0000

Download as text
 1
 2
 3
 4
 5
 6
 7
 8
 9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
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
Download as text