summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorEduardo Lima Mitev <elima@igalia.com>2013-04-29 22:02:49 +0200
committerAlejandro PiƱeiro <apinheiro@igalia.com>2013-04-30 11:37:11 +0200
commit39d8056ed91f33bf26323764011624432f9bfc0e (patch)
tree543f2811ab75dbd874e5ebb4328dfaf7c1aab6aa
parent9af9e6edda08d38f0e39daab470c8e1b3ec0f84c (diff)
downloadatk-39d8056ed91f33bf26323764011624432f9bfc0e.tar.gz
atksocket: Free 'embedded_plug_id' when destroyed, overriding finalize()
https://bugzilla.gnome.org/show_bug.cgi?id=699256
-rw-r--r--atk/atksocket.c15
1 files changed, 15 insertions, 0 deletions
diff --git a/atk/atksocket.c b/atk/atksocket.c
index ff31d5d..15c1e31 100644
--- a/atk/atksocket.c
+++ b/atk/atksocket.c
@@ -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)
{
}