summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--winaccessibility/source/UAccCOM/EnumVariant.cxx10
-rw-r--r--winaccessibility/source/UAccCOM/MAccessible.cxx16
-rw-r--r--winaccessibility/source/UAccCOM/MAccessible.h1
-rw-r--r--winaccessibility/source/UAccCOMIDL/UAccCOM.idl1
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,