From: Mike Gorse Date: Sun, 22 May 2011 23:42:19 +0000 (-0500) Subject: Always emit children-changed, property-change, and state-changed events X-Git-Tag: AT_SPI2_ATK_2_12_0~213 X-Git-Url: http://review.tizen.org/git/?p=platform%2Fcore%2Fuifw%2Fat-spi2-atk.git;a=commitdiff_plain;h=afb48dd77231e55de0afd6560038cf4af6264ec6 Always emit children-changed, property-change, and state-changed events libatspi currently listens for ChildrenChanged, PropertyChange, and StateChanged events but does not call RegisterEvent for them. Intending to come up with a better fix for 2.2. --- diff --git a/atk-adaptor/event.c b/atk-adaptor/event.c index 8d04246..a616879 100644 --- a/atk-adaptor/event.c +++ b/atk-adaptor/event.c @@ -363,6 +363,19 @@ signal_is_needed (const gchar *klass, const gchar *major, const gchar *minor) data [2] = ensure_proper_format (minor); data [3] = NULL; + /* Hack: Always pass events that update the cache. + * TODO: FOr 2.2, have at-spi2-core define a special "cache listener" for + * this instead, so that we don't send these if no one is listening */ + if (!g_strcmp0 (data [1], "ChildrenChanged") || + !g_strcmp0 (data [1], "PropertyChange") || + !g_strcmp0 (data [1], "StateChanged")) + { + g_free (data [2]); + g_free (data [1]); + g_free (data [0]); + return TRUE; + } + /* Hack: events such as "object::text-changed::insert:system" as generated by Gecko */ data [2][strcspn (data [2], ":")] = '\0'; @@ -376,7 +389,9 @@ signal_is_needed (const gchar *klass, const gchar *major, const gchar *minor) } } -//printf("event: %s %s %s: %d\n", data[0], data[1], data[2], ret); +#if 0 + g_print("event: %s %s %s: %d\n", data[0], data[1], data[2], ret); +#endif g_free (data [2]); g_free (data [1]); g_free (data [0]);