- if ((ls->event_type_quark == ctx->etype.major) ||
- (ls->event_type_quark == ctx->etype.minor))
- {
-#ifdef SPI_DEBUG
- 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);
-#endif
-
- ctx->e_out.source = CORBA_Object_duplicate (ctx->source, ctx->ev);
- if (BONOBO_EX (ctx->ev))
- {
- return SPI_RE_ENTRANT_CONTINUE;
- }
-
- if ((*list) && (*list)->data == ls)
- {
- Accessibility_EventListener_notifyEvent (
- (Accessibility_EventListener) ls->listener, &ctx->e_out, ctx->ev);
- if (ctx->ev->_major != CORBA_NO_EXCEPTION)
- {
- g_warning ("Accessibility app error: exception during "
- "event notification: %s\n",
- CORBA_exception_id (ctx->ev));
- if (ctx->ev->_major == CORBA_SYSTEM_EXCEPTION)
- CORBA_exception_init (ctx->ev);
- /* clear system exception on notify, it means listener is dead but
- * that's no concern of the event source :-) */
- }
- }
- else /* dup re-entered */
- {
- CORBA_Object_release (ctx->e_out.source, ctx->ev);
- }
- }