diff options
-rw-r--r-- | winaccessibility/source/UAccCOM/EnumVariant.cxx | 10 | ||||
-rw-r--r-- | winaccessibility/source/UAccCOM/MAccessible.cxx | 16 | ||||
-rw-r--r-- | winaccessibility/source/UAccCOM/MAccessible.h | 1 | ||||
-rw-r--r-- | winaccessibility/source/UAccCOMIDL/UAccCOM.idl | 1 |
4 files changed, 8 insertions, 20 deletions
diff --git a/winaccessibility/source/UAccCOM/EnumVariant.cxx b/winaccessibility/source/UAccCOM/EnumVariant.cxx index ffda36a25bcc..26cd75b254f9 100644 --- a/winaccessibility/source/UAccCOM/EnumVariant.cxx +++ b/winaccessibility/source/UAccCOM/EnumVariant.cxx @@ -69,8 +69,9 @@ HRESULT STDMETHODCALLTYPE CEnumVariant::Next(ULONG cElements,VARIANT __RPC_FAR * &pChild); if(isGet) { - pvar[l2].vt = VT_I4; - static_cast<IMAccessible*>(pChild)->Get_XAccChildID(&pvar[l2].lVal); + pvar[l2].vt = VT_DISPATCH; + pvar[l2].pdispVal = pChild; + pChild->AddRef(); } else if(pRXAcc.is()) { @@ -80,8 +81,9 @@ HRESULT STDMETHODCALLTYPE CEnumVariant::Next(ULONG cElements,VARIANT __RPC_FAR * pRXAcc.get(), &pChild); if(isGet) { - pvar[l2].vt = VT_I4; - static_cast<IMAccessible*>(pChild)->Get_XAccChildID(&pvar[l2].lVal); + pvar[l2].vt = VT_DISPATCH; + pvar[l2].pdispVal = pChild; + pChild->AddRef(); } } } diff --git a/winaccessibility/source/UAccCOM/MAccessible.cxx b/winaccessibility/source/UAccCOM/MAccessible.cxx index 495f8b49f196..a24536c8f36f 100644 --- a/winaccessibility/source/UAccCOM/MAccessible.cxx +++ b/winaccessibility/source/UAccCOM/MAccessible.cxx @@ -856,8 +856,8 @@ COM_DECLSPEC_NOTHROW STDMETHODIMP CMAccessible::get_accSelection(VARIANT *pvarCh m_pEnumVar->Next(1,varTmp,&count); if(count!=1) return S_FALSE; - pvarChildren->vt = VT_I4; - pvarChildren->lVal = varTmp[0].lVal; + pvarChildren->vt = VT_DISPATCH; + pvarChildren->pdispVal = varTmp[0].pdispVal; VariantClear(&varTmp[0]); m_pEnumVar->Reset(); break; @@ -2989,18 +2989,6 @@ void CMAccessible::ConvertAnyToVariant(const css::uno::Any &rAnyVal, VARIANT *pv } } -COM_DECLSPEC_NOTHROW STDMETHODIMP CMAccessible::Get_XAccChildID(long* childID) -{ - // internal IMAccessible - no mutex meeded - - if(childID == nullptr) - { - return E_FAIL; - } - *childID = m_dChildID; - return S_OK; -} - COM_DECLSPEC_NOTHROW STDMETHODIMP CMAccessible::get_states(AccessibleStates __RPC_FAR *states) { SolarMutexGuard g; diff --git a/winaccessibility/source/UAccCOM/MAccessible.h b/winaccessibility/source/UAccCOM/MAccessible.h index 1d052eae5ad4..c265d9f7ce82 100644 --- a/winaccessibility/source/UAccCOM/MAccessible.h +++ b/winaccessibility/source/UAccCOM/MAccessible.h @@ -209,7 +209,6 @@ private: HRESULT WINAPI SmartQI(void* pv, REFIID iid, void** ppvObject); public: - STDMETHOD(Get_XAccChildID)(/*[out,retval]*/ long* childID) override; // AccObjectManagerAgent is a management object in UNO, here keep its pointer for // the implementation of accNavigate when descendant manage happens for List,Tree, or Table // AccObjectManagerAgent and the following UNO objects XAccessible,XAccessibleSelection, diff --git a/winaccessibility/source/UAccCOMIDL/UAccCOM.idl b/winaccessibility/source/UAccCOMIDL/UAccCOM.idl index bcf20686dfa7..f48b66ddd227 100644 --- a/winaccessibility/source/UAccCOMIDL/UAccCOM.idl +++ b/winaccessibility/source/UAccCOMIDL/UAccCOM.idl @@ -49,7 +49,6 @@ import "defines.idl"; [id(24), helpstring("method Put_ActionDescription")] HRESULT Put_ActionDescription( const OLECHAR* szAction); [id(25), helpstring("method Put_XAccAgent")] HRESULT Put_XAccAgent(hyper pAgent); [id(26), helpstring("method NotifyDestroy")] HRESULT NotifyDestroy(); - [id(30), helpstring("method Get_XAccChildID")] HRESULT Get_XAccChildID([out,retval] long* childID); }; [ object, |