diff options
author | Alberts Muktupāvels <alberts.muktupavels@gmail.com> | 2017-05-24 12:25:52 +0300 |
---|---|---|
committer | Alberts Muktupāvels <alberts.muktupavels@gmail.com> | 2017-05-24 12:27:19 +0300 |
commit | 7ea3203f5459e206d0d15fe115cb08a54772cd43 (patch) | |
tree | da229d48a2adba955b019acdf200f64b303ed30e | |
parent | 2cff39ce088b6ae62597a2a7b9c7cb3cb050ea43 (diff) | |
download | libwnck-7ea3203f5459e206d0d15fe115cb08a54772cd43.tar.gz |
wnck-image-menu-item: fix memory leak
-rw-r--r-- | libwnck/wnck-image-menu-item.c | 16 |
1 files changed, 16 insertions, 0 deletions
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; |