[at-spi2-atk] Always emit children-changed, property-change, and state-changed events
- From: Mike Gorse <mgorse src gnome org>
- To: commits-list gnome org
- Cc:
- Subject: [at-spi2-atk] Always emit children-changed, property-change, and state-changed events
- Date: Sun, 22 May 2011 23:41:54 +0000 (UTC)
commit afb48dd77231e55de0afd6560038cf4af6264ec6
Author: Mike Gorse <mgorse novell com>
Date: Sun May 22 18:42:19 2011 -0500
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.
atk-adaptor/event.c | 17 ++++++++++++++++-
1 files changed, 16 insertions(+), 1 deletions(-)
---
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]);
[
Date Prev][
Date Next] [
Thread Prev][
Thread Next]
[
Thread Index]
[
Date Index]
[
Author Index]