summaryrefslogtreecommitdiff
path: root/winaccessibility
diff options
context:
space:
mode:
Diffstat (limited to 'winaccessibility')
-rw-r--r--winaccessibility/source/service/AccObjectWinManager.cxx5
1 files changed, 3 insertions, 2 deletions
diff --git a/winaccessibility/source/service/AccObjectWinManager.cxx b/winaccessibility/source/service/AccObjectWinManager.cxx
index 05a64af11536..19653c16c5a8 100644
--- a/winaccessibility/source/service/AccObjectWinManager.cxx
+++ b/winaccessibility/source/service/AccObjectWinManager.cxx
@@ -554,9 +554,10 @@ void AccObjectWinManager::DeleteAccObj( XAccessible* pXAcc )
{
accObj.GetIMAccessible()->Release();
}
- XIdAccList.erase( pXAcc );
- XResIdAccList.erase( accObj.GetResID() );
+ size_t i = XResIdAccList.erase(accObj.GetResID());
+ assert(i != 0);
DeleteFromHwndXAcc(pXAcc);
+ XIdAccList.erase(pXAcc); // note: this invalidates accObj so do it last!
}
/**