diff options
author | Michael Stahl <mstahl@redhat.com> | 2013-12-12 15:22:57 +0100 |
---|---|---|
committer | Michael Stahl <mstahl@redhat.com> | 2013-12-12 20:06:27 +0100 |
commit | 975e1d293d6f702c81647449fd28560b6d00e4a0 (patch) | |
tree | c9801b9b888e6314879791f3be9719f9d30263f7 /winaccessibility | |
parent | 506bab8f62c585380e607b91ab80c939dc99851c (diff) |
winaccessibility: clear entires from XHWNDDocList too
... in DeleteAccObj(). Otherwise pointers to deleted documents will be
used.
Change-Id: Ia807dc3a2c782019cf7fc874d264058219956d74
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 19653c16c5a8..dca768d3dc5c 100644 --- a/winaccessibility/source/service/AccObjectWinManager.cxx +++ b/winaccessibility/source/service/AccObjectWinManager.cxx @@ -557,6 +557,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! } |