diff options
author | Michael Stahl <mstahl@redhat.com> | 2013-12-12 15:22:57 +0100 |
---|---|---|
committer | Michael Stahl <mstahl@redhat.com> | 2013-12-13 19:47:43 +0100 |
commit | b36050801acd727d1993123877663a7d61a6294f (patch) | |
tree | e221ac9087f483250b02e87c72b5d43239b48c6c /winaccessibility | |
parent | febd4d9d3c97d0dccf4dc4c5217f4db668f1e9ce (diff) |
winaccessibility: clear entires from XHWNDDocList too
... in DeleteAccObj(). Otherwise pointers to deleted documents will be
used.
Change-Id: Ia807dc3a2c782019cf7fc874d264058219956d74
(cherry picked from commit 975e1d293d6f702c81647449fd28560b6d00e4a0)
Diffstat (limited to 'winaccessibility')
-rw-r--r-- | winaccessibility/source/service/AccObjectWinManager.cxx | 4 |
1 files changed, 4 insertions, 0 deletions
diff --git a/winaccessibility/source/service/AccObjectWinManager.cxx b/winaccessibility/source/service/AccObjectWinManager.cxx index bb9434a40508..b3aaf4c0fda6 100644 --- a/winaccessibility/source/service/AccObjectWinManager.cxx +++ b/winaccessibility/source/service/AccObjectWinManager.cxx @@ -559,6 +559,10 @@ void AccObjectWinManager::DeleteAccObj( XAccessible* pXAcc ) size_t i = XResIdAccList.erase(accObj.GetResID()); assert(i != 0); DeleteFromHwndXAcc(pXAcc); + if (DOCUMENT == accObj.GetRole()) + { + XHWNDDocList.erase(accObj.GetParentHWND()); + } XIdAccList.erase(pXAcc); // note: this invalidates accObj so do it last! } |