bug 1074854 - properly mark proxies in atkobject::accWrap r=davidb

When the accWrap field points at a proxy its value must be the pointer
or'd with IS_PROXY, but we incorrectly stored the plain pointer.
This commit is contained in:
Trevor Saunders 2014-09-29 17:10:39 -04:00
parent 35d5e72b1c
commit e432eca89d

View File

@ -1008,7 +1008,8 @@ a11y::ProxyCreated(ProxyAccessible* aProxy)
if (!obj)
return;
atk_object_initialize(obj, aProxy);
uintptr_t inner = reinterpret_cast<uintptr_t>(aProxy) | IS_PROXY;
atk_object_initialize(obj, reinterpret_cast<gpointer>(inner));
obj->role = ATK_ROLE_INVALID;
obj->layer = ATK_LAYER_INVALID;
aProxy->SetWrapper(reinterpret_cast<uintptr_t>(obj) | IS_PROXY);