diff options
author | Mike Gorse <mgorse@linux-l2tz.site> | 2012-01-21 12:13:02 -0600 |
---|---|---|
committer | Mike Gorse <mgorse@linux-l2tz.site> | 2012-01-21 12:13:02 -0600 |
commit | 85af8a25e4fa1c4a65cdbe145b70c334aac97e48 (patch) | |
tree | dfdb9d8d5fc40e38a334f2d2a29f34f3f502fbe7 /atk-adaptor/accessible-cache.c | |
parent | 04303257553adb20e7ff9b30721e6c23bdcbf58d (diff) | |
download | at-spi2-core-85af8a25e4fa1c4a65cdbe145b70c334aac97e48.tar.gz |
When an object goes away, remove from queue of pending cache additions
Items are added to the cache in an idle (see commit 75ff19), meaning
that it is possible for an object to go away between the time it is
queued for addition and the time the additions are made.
https://bugzilla.gnome.org/show_bug.cgi?id=666371
Diffstat (limited to 'atk-adaptor/accessible-cache.c')
-rw-r--r-- | atk-adaptor/accessible-cache.c | 2 |
1 files changed, 2 insertions, 0 deletions
diff --git a/atk-adaptor/accessible-cache.c b/atk-adaptor/accessible-cache.c index fa6b561e..943a3206 100644 --- a/atk-adaptor/accessible-cache.c +++ b/atk-adaptor/accessible-cache.c @@ -179,6 +179,8 @@ remove_object (GObject * source, GObject * gobj, gpointer data) g_signal_emit (cache, cache_signals [OBJECT_REMOVED], 0, gobj); g_hash_table_remove (cache->objects, gobj); } + else + g_queue_remove (cache->add_traversal, gobj); } static void |