diff --git a/gtk/a11y/atspi/Accessible.xml b/gtk/a11y/atspi/Accessible.xml index 7015466060..a274cdb902 100644 --- a/gtk/a11y/atspi/Accessible.xml +++ b/gtk/a11y/atspi/Accessible.xml @@ -63,5 +63,9 @@ + + + + diff --git a/gtk/a11y/gtkatspicontext.c b/gtk/a11y/gtkatspicontext.c index 1567a665d2..0960962a9a 100644 --- a/gtk/a11y/gtkatspicontext.c +++ b/gtk/a11y/gtkatspicontext.c @@ -28,6 +28,7 @@ #include "gtkatspiutilsprivate.h" #include "a11y/atspi/atspi-accessible.h" +#include "a11y/atspi/atspi-text.h" #include "gtkdebug.h" #include "gtkwindow.h" @@ -371,6 +372,15 @@ handle_accessible_method (GDBusConnection *connection, g_dbus_method_invocation_return_value (invocation, g_variant_new ("(i)", idx)); } + else if (g_strcmp0 (method_name, "GetInterfaces") == 0) + { + GtkAccessible *accessible = gtk_at_context_get_accessible (GTK_AT_CONTEXT (self)); + GVariantBuilder builder = G_VARIANT_BUILDER_INIT (G_VARIANT_TYPE ("as")); + + g_variant_builder_add (&builder, "s", "org.a11y.atspi.Accessible"); + g_dbus_method_invocation_return_value (invocation, g_variant_new ("(as)", &builder)); + } + } static GVariant * diff --git a/gtk/a11y/gtkatspiroot.c b/gtk/a11y/gtkatspiroot.c index 9d93de27f9..5e74bf6d46 100644 --- a/gtk/a11y/gtkatspiroot.c +++ b/gtk/a11y/gtkatspiroot.c @@ -331,6 +331,14 @@ handle_accessible_method (GDBusConnection *connection, { g_dbus_method_invocation_return_value (invocation, g_variant_new ("(i)", -1)); } + else if (g_strcmp0 (method_name, "GetInterfaces") == 0) + { + GVariantBuilder builder = G_VARIANT_BUILDER_INIT (G_VARIANT_TYPE ("as")); + + g_variant_builder_add (&builder, "s", "org.a11y.atspi.Accessible"); + g_variant_builder_add (&builder, "s", "org.a11y.atspi.Application"); + g_dbus_method_invocation_return_value (invocation, g_variant_new ("(as)", &builder)); + } } static GVariant *