summaryrefslogtreecommitdiff
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
parent04303257553adb20e7ff9b30721e6c23bdcbf58d (diff)
downloadat-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.c2
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