summaryrefslogtreecommitdiff
path: root/winaccessibility
diff options
context:
space:
mode:
authorMichael Stahl <mstahl@redhat.com>2013-12-12 15:22:57 +0100
committerMichael Stahl <mstahl@redhat.com>2013-12-12 20:06:27 +0100
commit975e1d293d6f702c81647449fd28560b6d00e4a0 (patch)
treec9801b9b888e6314879791f3be9719f9d30263f7 /winaccessibility
parent506bab8f62c585380e607b91ab80c939dc99851c (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.cxx4
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!
}