GNOME Bugzilla – Bug 443012
atspi.py:_onParentChanged upsets atspi.py:_cache in a bad way
Last modified: 2008-07-22 19:27:09 UTC
atspi.py:_onParentChanged currently just deletes an Accessible from the cache. The impact of this is that anyone hanging on to an object whose parent has changed can end up resulting in two copies of the same Accessible for a single CORBA object.
Created attachment 89200 [details] [review] Patch to keep cache in sync The original code assumed that if an object's parent changed, the object was soon slated to die. So, it just trashed the object when it's parent changed. Experience with FF shows us this is not the case. For example, when Ctrl+Tab'ing between tabs in FF, the document frame is often reparented, but not killed. This patch keeps the object laying around instead of killing it, and just erases any memory of the parent. The __getattr__ code will then lazily get the new parent when someone asks for it.
*** Bug 414738 has been marked as a duplicate of this bug. ***