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 334924 - atspi.py cache is not always in sync with backing objects
atspi.py cache is not always in sync with backing objects
Status: RESOLVED FIXED
Product: orca
Classification: Applications
Component: general
unspecified
Other All
: Normal normal
: ---
Assigned To: Willie Walker
Orca Maintainers
Depends on:
Blocks:
 
 
Reported: 2006-03-17 20:58 UTC by Willie Walker
Modified: 2006-04-17 18:13 UTC
See Also:
GNOME target: ---
GNOME version: ---


Attachments
Patch to do lazy caching of values and to use settings.cacheValues setting (8.75 KB, patch)
2006-04-17 18:12 UTC, Willie Walker
accepted-commit_now Details | Review

Description Willie Walker 2006-03-17 20:58:19 UTC
In working with doing the spell checking script for GEdit today, Rich noticed that the cached name of a label appears to remain the same even if the name of the real label changes.  More specifically, he noticed that the issues he was seeing went away when he set "CACHE_VALUES = False" in atspi.py.  We need to either check to see if CACHE_VALUES is a worthwhile thing to keep in the code and/or why the cache is not being kept in sync.
Comment 1 Willie Walker 2006-04-17 12:43:55 UTC
Rich - do you remember the exact things that were going on here so we can dig into this deeper?
Comment 2 Rich Burridge 2006-04-17 14:14:39 UTC
You should be able to recreate this problem, by spell checking
a document in gedit, which has two or more different mistakes.
If you have CACHE_VALUES set to True, Orca won't speak the second
and subsequent ones correctly.

If I remember correctly, gedit changes a label in the gedit spell
check dialog that the Orca gedit scripts want to read. With
CACHE_VALUES = True, it's picking up the cached value for that 
label that is out of date.
Comment 3 Willie Walker 2006-04-17 18:12:37 UTC
Created attachment 63730 [details] [review]
Patch to do lazy caching of values and to use settings.cacheValues setting

The problem appeared to be that we could not keep the cache up to date as actively as we had wished (i.e., using the event any_data).  So, rather than doing this, we just lazily keep the cache up to date - when we detect something has changed, we just delete the local cached value.  Then, when we next need it, we round trip to retreive it.
Comment 4 Willie Walker 2006-04-17 18:13:54 UTC
Fixed in the development version. The fix will be available in the next major release. Thank you for your bug report.