From e432eca89d11bd99c0499cec9ee4394a1c7686c1 Mon Sep 17 00:00:00 2001 From: Trevor Saunders Date: Mon, 29 Sep 2014 17:10:39 -0400 Subject: [PATCH] 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. --- accessible/atk/AccessibleWrap.cpp | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) diff --git a/accessible/atk/AccessibleWrap.cpp b/accessible/atk/AccessibleWrap.cpp index cca059e9b34..e15b69b7f92 100644 --- a/accessible/atk/AccessibleWrap.cpp +++ b/accessible/atk/AccessibleWrap.cpp @@ -1008,7 +1008,8 @@ a11y::ProxyCreated(ProxyAccessible* aProxy) if (!obj) return; - atk_object_initialize(obj, aProxy); + uintptr_t inner = reinterpret_cast(aProxy) | IS_PROXY; + atk_object_initialize(obj, reinterpret_cast(inner)); obj->role = ATK_ROLE_INVALID; obj->layer = ATK_LAYER_INVALID; aProxy->SetWrapper(reinterpret_cast(obj) | IS_PROXY);