-#ifdef SPI_LISTENER_DEBUG
- fprintf (stderr, "event quarks: %lx %lx %lx\n", ls->event_type_quark, ctx->etype.major, ctx->etype.minor);
- fprintf (stderr, "event name: %s\n", ctx->etype.event_name);
-#endif
- if ((ls->event_type_quark == ctx->etype.major) ||
- (ls->event_type_quark == ctx->etype.minor))
- {
-#ifdef SPI_DEBUG
- CORBA_string s;
- fprintf (stderr, "notifying listener %d\n", 0);
-/* g_list_index (list, l->data)); */
- s = Accessibility_Accessible__get_name (ctx->source, ctx->ev);
- fprintf (stderr, "event source name %s\n", s);
- CORBA_free (s);
- if (BONOBO_EX (ctx->ev))
- {
- CORBA_exception_free (ctx->ev);
- return SPI_RE_ENTRANT_CONTINUE;
- }
-#endif
-
- ctx->e_out.source = ctx->source;
-
- if ((*list) && (*list)->data == ls)
- {
- Accessibility_EventListener_notifyEvent (
- (Accessibility_EventListener) ls->listener, &ctx->e_out, ctx->ev);
- if (ctx->ev->_major != CORBA_NO_EXCEPTION)
- {
- DBG (1, g_warning ("Accessibility app error: exception during "
- "event notification: %s\n",
- CORBA_exception_id (ctx->ev)));
- CORBA_exception_free (ctx->ev);
- /* FIXME: check that this item is removed from the list
- * on system exception by a 'broken' listener */
- }
- }
- }
-
- return SPI_RE_ENTRANT_CONTINUE;
-}
-
-static void
-impl_registry_notify_event (PortableServer_Servant servant,
- const Accessibility_Event *e,
- CORBA_Environment *ev)