summaryrefslogtreecommitdiff
path: root/winaccessibility
diff options
context:
space:
mode:
authorMichael Stahl <mstahl@redhat.com>2013-11-26 23:29:50 +0100
committerMichael Stahl <mstahl@redhat.com>2013-11-28 00:59:52 +0100
commite094d6fab61de95adb53759d69aad2447560581c (patch)
tree6505dd64362dd16fda425a3f8bff2adab23d18cd /winaccessibility
parenta2afe344c6badf432983ce341d4154441837baf3 (diff)
winaccessibility: remove GetXAccByAccObj()
It is pointlessly slow and the AccObject has a method for that. Change-Id: I7ba1cc853255ac3b3b5008657d1cc79efc3a3f4b
Diffstat (limited to 'winaccessibility')
-rw-r--r--winaccessibility/inc/AccObject.hxx3
-rw-r--r--winaccessibility/inc/AccObjectWinManager.hxx2
-rw-r--r--winaccessibility/source/service/AccObject.cxx2
-rw-r--r--winaccessibility/source/service/AccObjectWinManager.cxx21
4 files changed, 4 insertions, 24 deletions
diff --git a/winaccessibility/inc/AccObject.hxx b/winaccessibility/inc/AccObject.hxx
index 934b95db1297..d7ea3d42c9c1 100644
--- a/winaccessibility/inc/AccObject.hxx
+++ b/winaccessibility/inc/AccObject.hxx
@@ -79,7 +79,8 @@ public:
void UpdateDefaultAction();
IMAccessible* GetIMAccessible(); //return COM interface in acc object
- ::com::sun::star::uno::Reference < ::com::sun::star::accessibility::XAccessible > GetXAccessible();
+ ::com::sun::star::uno::Reference<
+ ::com::sun::star::accessibility::XAccessible> const& GetXAccessible();
void SetResID(long id);//ResID means ChildID in MSAA
long GetResID();
diff --git a/winaccessibility/inc/AccObjectWinManager.hxx b/winaccessibility/inc/AccObjectWinManager.hxx
index afe4fe0adbc8..f58a858d7c2d 100644
--- a/winaccessibility/inc/AccObjectWinManager.hxx
+++ b/winaccessibility/inc/AccObjectWinManager.hxx
@@ -78,8 +78,6 @@ private:
long ImpleGenerateResID();
AccObject* GetAccObjByXAcc( com::sun::star::accessibility::XAccessible* pXAcc);
- com::sun::star::accessibility::XAccessible* GetXAccByAccObj(AccObject* pAccObj);
-
AccObject* GetTopWindowAccObj(HWND hWnd);
com::sun::star::accessibility::XAccessible* GetAccDocByHWND(HWND hWnd);
diff --git a/winaccessibility/source/service/AccObject.cxx b/winaccessibility/source/service/AccObject.cxx
index ac51a0527348..39a95348da83 100644
--- a/winaccessibility/source/service/AccObject.cxx
+++ b/winaccessibility/source/service/AccObject.cxx
@@ -1152,7 +1152,7 @@ IMAccessible* AccObject::GetIMAccessible()
return m_pIMAcc;
}
-Reference < XAccessible > AccObject::GetXAccessible()
+Reference<XAccessible> const& AccObject::GetXAccessible()
{
return m_xAccRef;
}
diff --git a/winaccessibility/source/service/AccObjectWinManager.cxx b/winaccessibility/source/service/AccObjectWinManager.cxx
index a058683c355d..cd51b7e37ebe 100644
--- a/winaccessibility/source/service/AccObjectWinManager.cxx
+++ b/winaccessibility/source/service/AccObjectWinManager.cxx
@@ -173,24 +173,6 @@ AccObject* AccObjectWinManager::GetAccObjByXAcc( XAccessible* pXAcc)
}
/**
- * Search XAccessible by AccObject pointer from our container.
- * @param pAccObj AccObject pointer.
- * @return Pointer of XAccessible Interface.
- */
-XAccessible* AccObjectWinManager::GetXAccByAccObj(AccObject* pAccObj)
-{
- XIdToAccObjHash::iterator iter = XIdAccList.begin();
- while(iter!=XIdAccList.end())
- {
- AccObject* tmp = &(iter->second);
- if(tmp== pAccObj)
- return (XAccessible*)(iter->first);
- ++iter;
- }
- return NULL;
-}
-
-/**
* get acc object of top window by its handle
* @param hWnd, top window handle
* @return pointer to AccObject
@@ -563,7 +545,6 @@ void AccObjectWinManager::DeleteChildrenAccObj(XAccessible* pXAcc)
{
AccObject* currentObj=NULL;
AccObject* childObj=NULL;
- XAccessible* pTmpXAcc=NULL;
currentObj = GetAccObjByXAcc( pXAcc);
if(currentObj)
@@ -571,7 +552,7 @@ void AccObjectWinManager::DeleteChildrenAccObj(XAccessible* pXAcc)
childObj = currentObj->NextChild();
while(childObj)
{
- pTmpXAcc = GetXAccByAccObj(childObj);
+ XAccessible *const pTmpXAcc = childObj->GetXAccessible().get();
if(pTmpXAcc)
{
DeleteChildrenAccObj(pTmpXAcc);