diff options
author | Mike Gorse <mgorse@novell.com> | 2012-02-21 10:58:02 -0600 |
---|---|---|
committer | Mike Gorse <mgorse@novell.com> | 2012-02-21 10:58:02 -0600 |
commit | cdabc42a524d36456bf517cd0c3395aeb0ec2b84 (patch) | |
tree | d9c3d441c756469632640a16f4cf2863f8237b1c /atspi/atspi-event-listener.c | |
parent | cbcc1db8b614b17c1ff1091216b0f4f008942c58 (diff) | |
download | at-spi2-core-cdabc42a524d36456bf517cd0c3395aeb0ec2b84.tar.gz |
Invalidate states when receiving a focus event
Sometimes we get "focus" events from gtk, but the cache still does not
indicate that the object has STATE_FOCUSED. Really should get to the
bottom of this but don't have time to investigate more right now. Might
be some kind of issue with the accessible being added to the cache
before it is fully initialized--perhaps AddAccessible really doesn't
make sense.
https://bugzilla.gnome.org/show_bug.cgi?id=663992
Diffstat (limited to 'atspi/atspi-event-listener.c')
-rw-r--r-- | atspi/atspi-event-listener.c | 5 |
1 files changed, 5 insertions, 0 deletions
diff --git a/atspi/atspi-event-listener.c b/atspi/atspi-event-listener.c index 4581f827..753e0946 100644 --- a/atspi/atspi-event-listener.c +++ b/atspi/atspi-event-listener.c @@ -935,6 +935,11 @@ _atspi_dbus_handle_event (DBusConnection *bus, DBusMessage *message, void *data) { cache_process_state_changed (&e); } + else if (!strncmp (e.type, "focus", 5)) + { + /* BGO#663992 - TODO: figure out the real problem */ + e.source->cached_properties &= ~(ATSPI_CACHE_STATES); + } _atspi_send_event (&e); |