From 8abd21a4d0d162ce0d97a6ad38f38abeb32e3e3b Mon Sep 17 00:00:00 2001 From: Li Yuan Date: Tue, 18 Nov 2008 02:53:29 +0000 Subject: [PATCH] Bug #361757. Add ATK_ROLE_LINK and ATK_ROLE_INPUT_METHOD_WINDOW to 2008-11-14 Li Yuan * atk/atkobject.c: Bug #361757. Add ATK_ROLE_LINK and ATK_ROLE_INPUT_METHOD_WINDOW to role_items so their name can be got. * atk/atkrelation.c: (atk_relation_set_property): Bug #478620. Fix memory when atk_relation_set_property. svn path=/trunk/; revision=1300 --- ChangeLog | 8 ++++++++ atk/atkobject.c | 4 +++- atk/atkrelation.c | 12 ++++++++++++ 3 files changed, 23 insertions(+), 1 deletion(-) diff --git a/ChangeLog b/ChangeLog index e8ce033..8a0cfeb 100644 --- a/ChangeLog +++ b/ChangeLog @@ -1,3 +1,11 @@ +2008-11-14 Li Yuan + + * atk/atkobject.c: + Bug #361757. Add ATK_ROLE_LINK and ATK_ROLE_INPUT_METHOD_WINDOW + to role_items so their name can be got. + * atk/atkrelation.c: (atk_relation_set_property): + Bug #478620. Fix memory when atk_relation_set_property. + 2008-11-11 Li Yuan * atk/atkgobjectaccessible.c: diff --git a/atk/atkobject.c b/atk/atkobject.c index 234a68a..14cd675 100755 --- a/atk/atkobject.c +++ b/atk/atkobject.c @@ -164,7 +164,9 @@ static const AtkRoleItem role_items [] = { ATK_ROLE_PAGE, N_("page")}, { ATK_ROLE_SECTION, N_("section")}, { ATK_ROLE_REDUNDANT_OBJECT, N_("redundant object")}, - { ATK_ROLE_FORM, N_("form")} + { ATK_ROLE_FORM, N_("form")}, + { ATK_ROLE_LINK, N_("link")}, + { ATK_ROLE_INPUT_METHOD_WINDOW, N_("input method window")} }; static void atk_object_class_init (AtkObjectClass *klass); diff --git a/atk/atkrelation.c b/atk/atkrelation.c index 970d947..da9cdb7 100755 --- a/atk/atkrelation.c +++ b/atk/atkrelation.c @@ -404,6 +404,18 @@ atk_relation_set_property (GObject *object, relation->relationship = g_value_get_enum (value); break; case PROP_TARGET: + if (relation->target) + { + gint i; + + for (i = 0; i < relation->target->len; i++) + { + g_object_weak_unref (G_OBJECT (g_ptr_array_index (relation->target, i)), + (GWeakNotify) delete_object_while_in_relation, + relation->target); + } + g_ptr_array_free (relation->target, TRUE); + } boxed = g_value_get_boxed (value); relation->target = atk_relation_get_ptr_array_from_value_array ( (GValueArray *) boxed); break; -- 2.7.4