8b947bae72
For the case that a newly created and registered accessible interface gets removed again from the cache before another one gets registered, the next registered interface was previously assigned the same "unique ID" again, which e.g. breaks assistive technology when using caching with AT-SPI, since that relies on the assumption that the ID is actually unique for each object. (But here, the new object was using the same object path as the old one, so data from the old object would be used for the new one.) To prevent that from happening, increment the counter for the next ID to try at the end of QAccessibleCache::acquireId, so the next time the method gets called, it doesn't try again whether the same ID as used previously is available again. For consistency, also rename the variable used for the counter from lastUsedId to nextId. This also adds a corresponding test case. Fixes: QTBUG-105962 Pick-to: 6.4 Change-Id: Iddf4f3b35c57895bcfbb623a5377edf8344ab6c2 Reviewed-by: Tor Arne Vestbø <tor.arne.vestbo@qt.io> Reviewed-by: Volker Hilsheimer <volker.hilsheimer@qt.io> |
||
---|---|---|
.. | ||
android | ||
gestures | ||
languagechange | ||
macgui | ||
macnativeevents | ||
macplist | ||
networkselftest | ||
qabstractitemmodelutils | ||
qaccessibility | ||
qaccessibilitylinux | ||
qaccessibilitymac | ||
qcomplextext | ||
qfocusevent | ||
qnetworkaccessmanager_and_qprogressdialog | ||
qobjectrace | ||
qprocess_and_guieventloop | ||
qsharedpointer_and_qwidget | ||
qvariant_common | ||
sessionmanagement_macos | ||
toolsupport | ||
xkbkeyboard | ||
CMakeLists.txt |