else
spi_atk_emit_eventv (gobject, detail1, detail2, &any,
"object:%s", name);
+ if (sp)
+ g_free (sp);
}
long detail2;
} AccessibleEvent;
-/*
- * For internal use by CSPI implementation only
- */
-typedef struct {
- AccessibleEvent event;
- void *data;
-} InternalEvent;
-
typedef enum {
SPI_KEY_PRESSED = 1<<0,
SPI_KEY_RELEASED = 1<<1,
guint ref_count : 30;
};
+/*
+ * For internal use by CSPI implementation only
+ */
+typedef struct {
+ AccessibleEvent event;
+ void *data;
+} InternalEvent;
+
#define CSPI_OBJREF(a) (((Accessible *)(a))->objref)
CORBA_Environment *cspi_ev (void);
}
}
-static char *
+static Accessible *
cspi_internal_event_get_object (const InternalEvent *e)
{
CORBA_any *any;
char *
AccessibleTextChangedEvent_getChangeString (const AccessibleEvent *e)
{
- InternalEvent *foo = (InternalEvent *) e;
+ const InternalEvent *foo = (InternalEvent *) e;
/* TODO: check the event type? expensive... */
- return cspi_internal_event_get_text (e);
+ return cspi_internal_event_get_text (foo);
}
/**
Accessible *
AccessibleChildChangedEvent_getChildAccessible (const AccessibleEvent *e)
{
- InternalEvent *foo = (InternalEvent *) e;
- return cspi_internal_event_get_object (e);
+ const InternalEvent *foo = (InternalEvent *) e;
+ return (Accessible *) cspi_internal_event_get_object (foo);
}
#include <config.h>
#undef SPI_XKB_DEBUG
-#undef SPI_DEBUG
+#define SPI_DEBUG
#undef SPI_KEYEVENT_DEBUG
#include <string.h>
spi_init_any_object (&e.any_data, a);
*/
spi_init_any_nil (&e.any_data);
- Accessibility_Accessible_unref (a, &ev);
Accessibility_Registry_notifyEvent (BONOBO_OBJREF (registry),
&e, &ev);
- Accessibility_Desktop_unref (e.source, &ev);
+ bonobo_object_release_unref (a, &ev);
CORBA_exception_free (&ev);
}