summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorMike Gorse <mgorse@novell.com>2010-11-09 04:07:52 -0500
committerMike Gorse <mgorse@novell.com>2010-11-09 04:07:52 -0500
commit23af25b18fe03202e4fe130e8479936fed6cfec0 (patch)
tree42eaba22b1b699ce50dea3f8de19d0ceed36b91c
parenta5a11bda4217947060717e16cfc1764919d0582b (diff)
downloadat-spi2-core-23af25b18fe03202e4fe130e8479936fed6cfec0.tar.gz
Have atspi_accessible_get_host_application return an AtspiAccessible
-rw-r--r--atspi/atspi-accessible.c11
-rw-r--r--atspi/atspi-accessible.h2
2 files changed, 7 insertions, 6 deletions
diff --git a/atspi/atspi-accessible.c b/atspi/atspi-accessible.c
index c66ad00f..1c441e18 100644
--- a/atspi/atspi-accessible.c
+++ b/atspi/atspi-accessible.c
@@ -480,14 +480,15 @@ atspi_accessible_get_attributes_as_array (AtspiAccessible *obj, GError **error)
*
* Get the containing #AtspiApplication for an object.
*
- * Returns: the containing AtspiApplication instance for this object.
+ * Returns: (transfer full): the containing AtspiApplication instance for
+ * this object.
*/
-AtspiApplication *
+AtspiAccessible *
atspi_accessible_get_host_application (AtspiAccessible *obj, GError **error)
{
- while (obj->accessible_parent) obj = obj->accessible_parent;
- g_warning ("atspi: TODO: Application interface");
- //return atspi_accessible_get_application (obj);
+ while (obj->accessible_parent && atspi_accessible_get_role (obj->accessible_parent, NULL) != ATSPI_ROLE_DESKTOP_FRAME)
+ obj = obj->accessible_parent;
+ return g_object_ref (obj);
}
#if 0 // TODO: interfaces */
diff --git a/atspi/atspi-accessible.h b/atspi/atspi-accessible.h
index 9722aeef..d22db4cb 100644
--- a/atspi/atspi-accessible.h
+++ b/atspi/atspi-accessible.h
@@ -95,7 +95,7 @@ GHashTable * atspi_accessible_get_attributes (AtspiAccessible *obj, GError **err
GArray * atspi_accessible_get_attributes_as_array (AtspiAccessible *obj, GError **error);
-AtspiApplication * atspi_accessible_get_host_application (AtspiAccessible *obj, GError **error);
+AtspiAccessible * atspi_accessible_get_host_application (AtspiAccessible *obj, GError **error);
AtspiComponent * atspi_accessible_get_component (AtspiAccessible *accessible);
#endif /* _ATSPI_ACCESSIBLE_H_ */