[at-spi2-atk] Only send property-change signals relevant for caching, absent listeners
- From: Mike Gorse <mgorse src gnome org>
- To: commits-list gnome org
- Cc:
- Subject: [at-spi2-atk] Only send property-change signals relevant for caching, absent listeners
- Date: Mon, 9 Jul 2012 22:48:33 +0000 (UTC)
commit 67b25d0f9eea338fb2eaa4e34a83e2b720e54e0e
Author: Mike Gorse <mgorse suse com>
Date: Mon Jul 9 17:41:38 2012 -0500
Only send property-change signals relevant for caching, absent listeners
Previously, all property-change signals were passed on, regardless of any
registered listeners, because some of them are used by libatspi to keep the
cache up-to-date. However, gtk sends many notifications for property changes
that would have no impact on libatspi's caching code, so we should not waste
time building and sending D-Bus messages for them unless something is
interested in the event.
https://bugzilla.gnome.org/show_bug.cgi?id=674719
atk-adaptor/event.c | 6 +++++-
1 files changed, 5 insertions(+), 1 deletions(-)
---
diff --git a/atk-adaptor/event.c b/atk-adaptor/event.c
index 859d399..efd9c20 100644
--- a/atk-adaptor/event.c
+++ b/atk-adaptor/event.c
@@ -371,7 +371,11 @@ signal_is_needed (const gchar *klass, const gchar *major, const gchar *minor)
* 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], "PropertyChange")) &&
+ (!g_strcmp0 (data [2], "accessible-name") ||
+ !g_strcmp0 (data [2], "accessible-description") ||
+ !g_strcmp0 (data [2], "accessible-parent") ||
+ !g_strcmp0 (data [2], "accessible-role"))) ||
!g_strcmp0 (data [1], "StateChanged"))
{
g_free (data [2]);
[
Date Prev][
Date Next] [
Thread Prev][
Thread Next]
[
Thread Index]
[
Date Index]
[
Author Index]