diff options
Diffstat (limited to 'atk-adaptor/event.c')
-rw-r--r-- | atk-adaptor/event.c | 21 |
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); |