After an evaluation, GNOME has moved from Bugzilla to GitLab. Learn more about GitLab.
No new issues can be reported in GNOME Bugzilla anymore.
To report an issue in a GNOME project, go to GNOME GitLab.
Do not go to GNOME Gitlab for: Bluefish, Doxygen, GnuCash, GStreamer, java-gnome, LDTP, NetworkManager, Tomboy.
Bug 443012 - atspi.py:_onParentChanged upsets atspi.py:_cache in a bad way
atspi.py:_onParentChanged upsets atspi.py:_cache in a bad way
Status: RESOLVED FIXED
Product: orca
Classification: Applications
Component: general
unspecified
Other All
: High normal
: 2.20.0
Assigned To: Willie Walker
Orca Maintainers
: 414738 (view as bug list)
Depends on:
Blocks:
 
 
Reported: 2007-06-01 19:24 UTC by Willie Walker
Modified: 2008-07-22 19:27 UTC
See Also:
GNOME target: ---
GNOME version: ---


Attachments
Patch to keep cache in sync (1.00 KB, patch)
2007-06-01 19:32 UTC, Willie Walker
committed Details | Review

Description Willie Walker 2007-06-01 19:24:56 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.
Comment 1 Willie Walker 2007-06-01 19:32:37 UTC
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.
Comment 2 Willie Walker 2007-06-08 15:06:30 UTC
*** Bug 414738 has been marked as a duplicate of this bug. ***