summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorMike Gorse <mgorse@novell.com>2009-11-13 12:58:48 -0500
committerMike Gorse <mgorse@novell.com>2009-11-13 12:58:48 -0500
commite3ad2b74a58ab626d3ba75c0d1f5fa95cfad1530 (patch)
treed1a4d1ad44c5962a4fc308948ba1c3b19f50a7b7
parent3e1f56f6e2c63ad90e13214ac13a2dc848e925b5 (diff)
downloadat-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.c10
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(&param_values[0]));
- emit(accessible, ITF_EVENT_OBJECT, name, "", 0, 0, DBUS_TYPE_INT32_AS_STRING, 0);
+
+ if (n_param_values > 1 && G_VALUE_TYPE (&param_values[1]) == G_TYPE_INT)
+ detail1 = g_value_get_int (&param_values[1]);
+
+ if (n_param_values > 2 && G_VALUE_TYPE (&param_values[2]) == G_TYPE_INT)
+ detail2 = g_value_get_int (&param_values[2]);
+
+ emit(accessible, ITF_EVENT_OBJECT, name, "", detail1, detail2, DBUS_TYPE_INT32_AS_STRING, 0);
return TRUE;
}