atksocket: Free 'embedded_plug_id' when destroyed, overriding finalize()
authorEduardo Lima Mitev <elima@igalia.com>
Mon, 29 Apr 2013 20:02:49 +0000 (22:02 +0200)
committerAlejandro Piñeiro <apinheiro@igalia.com>
Tue, 30 Apr 2013 09:39:50 +0000 (11:39 +0200)
https://bugzilla.gnome.org/show_bug.cgi?id=699256

atk/atksocket.c

index ff31d5d..15c1e31 100644 (file)
@@ -21,6 +21,7 @@
 #include "atksocket.h"
 
 static void atk_socket_class_init (AtkSocketClass *klass);
+static void atk_socket_finalize   (GObject *obj);
 
 static void atk_component_interface_init (AtkComponentIface *iface);
 
@@ -36,9 +37,23 @@ atk_socket_init (AtkSocket* obj)
 static void
 atk_socket_class_init (AtkSocketClass* klass)
 {
+  GObjectClass *obj_class = G_OBJECT_CLASS (klass);
+
+  obj_class->finalize = atk_socket_finalize;
+
   klass->embed = NULL;
 }
 
+static void
+atk_socket_finalize (GObject *_obj)
+{
+  AtkSocket *obj = ATK_SOCKET (obj);
+
+  g_free (obj->embedded_plug_id);
+
+  G_OBJECT_CLASS (atk_socket_parent_class)->finalize (_obj);
+}
+
 static void atk_component_interface_init (AtkComponentIface *iface)
 {
 }