summaryrefslogtreecommitdiff
path: root/atk-adaptor/event.c
diff options
context:
space:
mode:
Diffstat (limited to 'atk-adaptor/event.c')
-rw-r--r--atk-adaptor/event.c21
1 files changed, 21 insertions, 0 deletions
diff --git a/atk-adaptor/event.c b/atk-adaptor/event.c
index d1652da..6e8c07a 100644
--- a/atk-adaptor/event.c
+++ b/atk-adaptor/event.c
@@ -678,6 +678,26 @@ property_event_listener (GSignalInvocationHint * signal_hint,
#define STATE_CHANGED "state-changed"
+static void
+do_debug_thing (AtkObject *accessible)
+{
+ AtkObject *parent;
+ gint x, y, width, height;
+
+ do
+ {
+ parent = atk_object_get_parent (accessible);
+ if (!ATK_IS_COMPONENT (accessible))
+ {
+ g_print ("%s isn't a component\n", g_type_name_from_instance(accessible));
+ return;
+ }
+ atk_component_get_extents (ATK_COMPONENT (accessible), &x, &y, &width, &height, ATK_XY_SCREEN);
+ g_print ("extents for %s (%s): %d %d %d %d\n", atk_object_get_name(accessible), g_type_name_from_instance(accessible), x, y, width, height);
+ accessible = parent;
+ } while (accessible);
+}
+
/*
* The state event listener handles 'Gtk:AtkObject:state-change' ATK signals
* and forwards them as object:state-changed:(param-name) AT-SPI events. Where
@@ -699,6 +719,7 @@ state_event_listener (GSignalInvocationHint * signal_hint,
emit_event (accessible, ITF_EVENT_OBJECT, STATE_CHANGED, pname, detail1, 0,
DBUS_TYPE_INT32_AS_STRING, 0, append_basic);
+if (!g_strcmp0 (pname, "focused") && detail1 && g_getenv("DODEBUG")) do_debug_thing(accessible);
if (!g_strcmp0 (pname, "defunct") && detail1)
spi_register_deregister_object (spi_global_register, G_OBJECT (accessible),
TRUE);