A fix for trac ticket #66 (bad performance in IA2 (specifically Gecko) dialogs). For now processGeckoDescription does not do its work if the description property is not the stock IAccessible NVDAObject description property (it has been overridden). The problem was that Dialog IAccessible NVDAObjects use the description property to present the dialog's text. But, this is quite intensive to compute. And, processGeckoDescription gets called for all new IAccessible NVDAObjects, so the description property was being calculated for all of them, even when comparing focus ancestors etc, and it was just getting way too slow. So now processGeckoDescription only works with the real MSAA description, not other things. Eventually I would like to break way dialog text in to some other method that just gets called on event_foreground, but for now this works pretty good.
+ #Don't do this if the description property is overridden
+ if obj.__class__._get_description!=IAccessible._get_description:
if not obj.windowClassName.startswith('Mozilla'):