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 | |
parent | 04303257553adb20e7ff9b30721e6c23bdcbf58d (diff) | |
download | at-spi2-atk-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
-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 fa6b561..943a320 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 |