diff options
author | Mike Gorse <mgorse@novell.com> | 2009-11-13 12:58:48 -0500 |
---|---|---|
committer | Mike Gorse <mgorse@novell.com> | 2009-11-13 12:58:48 -0500 |
commit | e3ad2b74a58ab626d3ba75c0d1f5fa95cfad1530 (patch) | |
tree | d1a4d1ad44c5962a4fc308948ba1c3b19f50a7b7 | |
parent | 3e1f56f6e2c63ad90e13214ac13a2dc848e925b5 (diff) | |
download | at-spi2-atk-e3ad2b74a58ab626d3ba75c0d1f5fa95cfad1530.tar.gz |
Event detail fixes
Have the generic event handler pass on detail ints when they're present
(with table:row-inserted, for instance).
-rw-r--r-- | atk-adaptor/event.c | 10 |
1 files changed, 9 insertions, 1 deletions
diff --git a/atk-adaptor/event.c b/atk-adaptor/event.c index 6e26b93..e98d4d2 100644 --- a/atk-adaptor/event.c +++ b/atk-adaptor/event.c @@ -679,12 +679,20 @@ generic_event_listener (GSignalInvocationHint *signal_hint, AtkObject *accessible; GSignalQuery signal_query; const gchar *name; + int detail1 = 0, detail2 = 0; g_signal_query (signal_hint->signal_id, &signal_query); name = signal_query.signal_name; accessible = ATK_OBJECT(g_value_get_object(¶m_values[0])); - emit(accessible, ITF_EVENT_OBJECT, name, "", 0, 0, DBUS_TYPE_INT32_AS_STRING, 0); + + if (n_param_values > 1 && G_VALUE_TYPE (¶m_values[1]) == G_TYPE_INT) + detail1 = g_value_get_int (¶m_values[1]); + + if (n_param_values > 2 && G_VALUE_TYPE (¶m_values[2]) == G_TYPE_INT) + detail2 = g_value_get_int (¶m_values[2]); + + emit(accessible, ITF_EVENT_OBJECT, name, "", detail1, detail2, DBUS_TYPE_INT32_AS_STRING, 0); return TRUE; } |