diff -up at-spi-1.23.91/atk-bridge/bridge.c.greeter-crash at-spi-1.23.91/atk-bridge/bridge.c --- at-spi-1.23.91/atk-bridge/bridge.c.greeter-crash 2008-09-05 09:54:27.000000000 -0400 +++ at-spi-1.23.91/atk-bridge/bridge.c 2008-09-05 12:38:34.000000000 -0400 @@ -1101,7 +1101,7 @@ spi_atk_bridge_signal_listener (GSignalI CORBA_any any; CORBA_Object c_obj; char *sp = NULL; - AtkObject *ao; + AtkObject *ao = NULL; gint detail1 = 0, detail2 = 0; SpiAccessible *s_ao = NULL; #ifdef SPI_BRIDGE_DEBUG @@ -1162,7 +1162,7 @@ spi_atk_bridge_signal_listener (GSignalI ao = ATK_OBJECT (child); g_object_ref (ao); } - else + else if (detail != NULL && strcmp (detail, "add") == 0) { ao = atk_object_ref_accessible_child (ATK_OBJECT (gobject), detail1);