summaryrefslogtreecommitdiff
path: root/atk-adaptor/accessible-cache.c
diff options
context:
space:
mode:
authorMike Gorse <mgorse@linux-l2tz.site>2012-01-21 12:13:02 -0600
committerMike Gorse <mgorse@linux-l2tz.site>2012-01-21 12:13:02 -0600
commit85af8a25e4fa1c4a65cdbe145b70c334aac97e48 (patch)
treedfdb9d8d5fc40e38a334f2d2a29f34f3f502fbe7 /atk-adaptor/accessible-cache.c
parent04303257553adb20e7ff9b30721e6c23bdcbf58d (diff)
downloadat-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.c2
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