bug 1213606 - work around proxy's that don't have a wrapper for their document r=davidb

This commit is contained in:
Trevor Saunders 2015-10-14 10:58:35 -04:00
Родитель 38c71db8ad
Коммит 86e2dba472
1 изменённых файлов: 8 добавлений и 5 удалений

Просмотреть файл

@ -61,14 +61,17 @@ a11y::ProxyDestroyed(ProxyAccessible* aProxy)
auto doc =
static_cast<DocProxyAccessibleWrap*>(WrapperFor(aProxy->Document()));
MOZ_ASSERT(doc);
if (doc) {
#ifdef _WIN64
uint32_t id = wrapper->GetExistingID();
if (id != AccessibleWrap::kNoID) {
doc->RemoveID(id);
}
uint32_t id = wrapper->GetExistingID();
if (id != AccessibleWrap::kNoID) {
doc->RemoveID(id);
}
#else
doc->RemoveID(-reinterpret_cast<int32_t>(wrapper));
doc->RemoveID(-reinterpret_cast<int32_t>(wrapper));
#endif
}
wrapper->Shutdown();
aProxy->SetWrapper(0);