From: Alejandro PiƱeiro Date: Wed, 24 Sep 2014 17:40:51 +0000 (+0200) Subject: Aggressively filtering AddChildren with STATE_MANAGES_DESCENDANTS X-Git-Tag: AT_SPI2_ATK_2_14_1~1 X-Git-Url: http://review.tizen.org/git/?a=commitdiff_plain;h=c8cda37e28307ad195996ad54b9ee1680cca3ec3;p=platform%2Fupstream%2Fat-spi2-atk.git Aggressively filtering AddChildren with STATE_MANAGES_DESCENDANTS --- diff --git a/atk-adaptor/event.c b/atk-adaptor/event.c index 42d359d..dbfa9dc 100644 --- a/atk-adaptor/event.c +++ b/atk-adaptor/event.c @@ -1067,11 +1067,22 @@ children_changed_event_listener (GSignalInvocationHint * signal_hint, AtkObject *accessible, *ao=NULL; gpointer child; + AtkStateSet *set; + gboolean ret; g_signal_query (signal_hint->signal_id, &signal_query); name = signal_query.signal_name; + /* If the accessible is on STATE_MANAGES_DESCENDANTS state, + children-changed signal are not forwarded. */ accessible = ATK_OBJECT (g_value_get_object (¶m_values[0])); + set = atk_object_ref_state_set (accessible); + ret = atk_state_set_contains_state (set, ATK_STATE_MANAGES_DESCENDANTS); + g_object_unref (set); + + if (ret) + return TRUE; + minor = g_quark_to_string (signal_hint->detail); detail1 = g_value_get_uint (param_values + 1);