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 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 @@ -172,24 +172,6 @@ AccObject* AccObjectWinManager::GetAccObjByXAcc( XAccessible* pXAcc) return &(pIndTemp->second); } -/** - * 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 @@ -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);