const Accessibility_Event *e,
CORBA_Environment *ev)
{
-
int n;
int len;
VoidEventListenerCB cb;
for (n=0; n<len; ++n)
{
cb = (VoidEventListenerCB) g_list_nth_data (listener->callbacks, n);
- (*cb) (NULL);
+ if (cb)
+ {
+ (*cb) (e);
+ }
}
- bonobo_object_release_unref (e->target, ev);
+ bonobo_object_release_unref (e->source, ev);
}
static void
accessible_event_listener_new ()
{
AccessibleEventListener *retval =
- LISTENER (g_object_new (accessible_event_listener_get_type (), NULL));
+ ACCESSIBLE_EVENT_LISTENER (g_object_new (accessible_event_listener_get_type (), NULL));
return retval;
}
void accessible_event_listener_add_callback (AccessibleEventListener *listener,
VoidEventListenerCB callback)
{
- listener->callbacks = g_list_append (listener->callbacks, listener);
+ listener->callbacks = g_list_append (listener->callbacks, callback);
}
void accessible_event_listener_remove_callback (AccessibleEventListener *listener,
VoidEventListenerCB callback)
{
- listener->callbacks = g_list_remove (listener->callbacks, listener);
+ listener->callbacks = g_list_remove (listener->callbacks, callback);
}