diff options
author | Mark Doffman <mark.doffman@codethink.co.uk> | 2010-01-05 12:50:55 -0800 |
---|---|---|
committer | Mark Doffman <mark.doffman@codethink.co.uk> | 2010-01-05 12:50:55 -0800 |
commit | 0c6971bdf4c2c0f3e64580287cd17555c32881dd (patch) | |
tree | 813b196f4d4f8ef731caacf338ba3ff74a97588c /atk-adaptor/accessible-register.c | |
parent | 5713a8e46559b6de9fbf5fc3e073d0d482d8c7e1 (diff) | |
download | at-spi2-atk-0c6971bdf4c2c0f3e64580287cd17555c32881dd.tar.gz |
Fix object lifecycle errors.
Add an application reference to the event structure.
Diffstat (limited to 'atk-adaptor/accessible-register.c')
-rw-r--r-- | atk-adaptor/accessible-register.c | 11 |
1 files changed, 11 insertions, 0 deletions
diff --git a/atk-adaptor/accessible-register.c b/atk-adaptor/accessible-register.c index ac93dee..97ada1d 100644 --- a/atk-adaptor/accessible-register.c +++ b/atk-adaptor/accessible-register.c @@ -198,6 +198,10 @@ deregister_object (gpointer data, GObject * gobj) 0, gobj); g_hash_table_remove (reg->ref2ptr, GINT_TO_POINTER (ref)); + +#ifdef SPI_ATK_DEBUG + g_debug ("DEREG - %d", ref); +#endif } } @@ -213,6 +217,10 @@ register_object (SpiRegister * reg, GObject * gobj) g_object_set_data (G_OBJECT (gobj), SPI_DBUS_ID, GINT_TO_POINTER (ref)); g_object_weak_ref (G_OBJECT (gobj), deregister_object, reg); +#ifdef SPI_ATK_DEBUG + g_debug ("REG - %d", ref); +#endif + g_signal_emit (reg, register_signals [OBJECT_REGISTERED], 0, gobj); } @@ -268,6 +276,9 @@ spi_register_object_to_path (SpiRegister * reg, GObject * gobj) { guint ref; + if (gobj == NULL) + return NULL; + ref = object_to_ref (gobj); if (!ref) { |