summaryrefslogtreecommitdiff
path: root/atk-adaptor/accessible-register.c
diff options
context:
space:
mode:
authorMark Doffman <mark.doffman@codethink.co.uk>2010-01-05 12:50:55 -0800
committerMark Doffman <mark.doffman@codethink.co.uk>2010-01-05 12:50:55 -0800
commit0c6971bdf4c2c0f3e64580287cd17555c32881dd (patch)
tree813b196f4d4f8ef731caacf338ba3ff74a97588c /atk-adaptor/accessible-register.c
parent5713a8e46559b6de9fbf5fc3e073d0d482d8c7e1 (diff)
downloadat-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.c11
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)
{