diff --git a/accessible/atk/AccessibleWrap.cpp b/accessible/atk/AccessibleWrap.cpp index cf12459fc20..8c2a85d5cc0 100644 --- a/accessible/atk/AccessibleWrap.cpp +++ b/accessible/atk/AccessibleWrap.cpp @@ -1064,13 +1064,13 @@ GetAccessibleWrap(AtkObject* aAtkObj) NS_ENSURE_TRUE(isMAIObject || MAI_IS_ATK_SOCKET(aAtkObj), nullptr); - uintptr_t accWrapPtr = isMAIObject ? - MAI_ATK_OBJECT(aAtkObj)->accWrap.Bits() : - reinterpret_cast(MAI_ATK_SOCKET(aAtkObj)->accWrap); - if (accWrapPtr & IS_PROXY) - return nullptr; - - AccessibleWrap* accWrap = reinterpret_cast(accWrapPtr); + AccessibleWrap* accWrap = nullptr; + if (isMAIObject) { + Accessible* acc = MAI_ATK_OBJECT(aAtkObj)->accWrap.AsAccessible(); + accWrap = static_cast(acc); + } else { + accWrap = MAI_ATK_SOCKET(aAtkObj)->accWrap; + } // Check if the accessible was deconstructed. if (!accWrap)