diff -up at-spi-1.25.2/atk-bridge/bridge.c.evo-crash at-spi-1.25.2/atk-bridge/bridge.c
--- at-spi-1.25.2/atk-bridge/bridge.c.evo-crash 2008-11-24 01:39:41.000000000 -0500
+++ at-spi-1.25.2/atk-bridge/bridge.c 2008-12-02 10:34:11.000000000 -0500
@@ -1153,20 +1153,23 @@ spi_atk_bridge_signal_listener (GSignalI
spi_atk_bridge_init_rect (&any, ATK_OBJECT (gobject), atk_rect);
}
else if ((signal_query.signal_id == atk_signal_children_changed) && gobject)
- {
+ {
gpointer child;
- detail1 = g_value_get_uint (param_values + 1);
- child = g_value_get_pointer (param_values + 2);
- if (ATK_IS_OBJECT (child))
- {
- ao = ATK_OBJECT (child);
- g_object_ref (ao);
- }
- else if ((detail != NULL) && (strcmp (detail, "add") == 0))
+ if (detail != NULL)
{
- ao = atk_object_ref_accessible_child (ATK_OBJECT (gobject),
- detail1);
+ detail1 = g_value_get_uint (param_values + 1);
+ child = g_value_get_pointer (param_values + 2);
+ if (ATK_IS_OBJECT (child))
+ {
+ ao = ATK_OBJECT (child);
+ g_object_ref (ao);
+ }
+ else if ((detail != NULL) && (strcmp (detail, "add") == 0))
+ {
+ ao = atk_object_ref_accessible_child (ATK_OBJECT (gobject),
+ detail1);
+ }
}
if (ao)
{