ATK_STATE_DEFUNCT is a state of the accessible object when the target object is not available. It doesn't makes sense to change the state of a object that is being destroyed.
That line should be removed, and the notification of the ATK_STATE_DEFUNCT be done when the base object (piea->priv->entry) is destroyed.
In the same way, ref_state_set should be updated to include this state if piea->priv->entry is not there.
I will ping Rodrigo Moya (the one working on the accessibility of the panel service) about this.
Ups, I missed that notification on my review of the branch, my bad
It should not required to change finalize for dispose, this line on the finalize
atk_object_ notify_ state_change (ATK_OBJECT (piea), ATK_STATE_DEFUNCT, TRUE);
is wrong.
ATK_STATE_DEFUNCT is a state of the accessible object when the target object is not available. It doesn't makes sense to change the state of a object that is being destroyed.
That line should be removed, and the notification of the ATK_STATE_DEFUNCT be done when the base object (piea->priv->entry) is destroyed.
In the same way, ref_state_set should be updated to include this state if piea->priv->entry is not there.
I will ping Rodrigo Moya (the one working on the accessibility of the panel service) about this.