diff options
author | Eduardo Lima Mitev <elima@igalia.com> | 2013-04-29 22:02:49 +0200 |
---|---|---|
committer | Alejandro PiƱeiro <apinheiro@igalia.com> | 2013-04-30 11:37:11 +0200 |
commit | 39d8056ed91f33bf26323764011624432f9bfc0e (patch) | |
tree | 543f2811ab75dbd874e5ebb4328dfaf7c1aab6aa | |
parent | 9af9e6edda08d38f0e39daab470c8e1b3ec0f84c (diff) | |
download | atk-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.c | 15 |
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) { } |