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