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) {