From a33c8701d18f2da2f415b3257a1deef46f8ed799 Mon Sep 17 00:00:00 2001 From: Pietro Gagliardi Date: Mon, 16 Feb 2015 21:27:22 -0500 Subject: [PATCH] Implemented get_accDefaultAction(). --- wintable/accessibility.h | 18 ++++++++++++++---- 1 file changed, 14 insertions(+), 4 deletions(-) diff --git a/wintable/accessibility.h b/wintable/accessibility.h index 2bf062b..f155d38 100644 --- a/wintable/accessibility.h +++ b/wintable/accessibility.h @@ -377,11 +377,21 @@ static HRESULT STDMETHODCALLTYPE tableAccget_accSelection(IAccessible *this, VAR static HRESULT STDMETHODCALLTYPE tableAccget_accDefaultAction(IAccessible *this, VARIANT varChild, BSTR *pszDefaultAction) { - if (TA->t == NULL || TA->std == NULL) { - // TODO set values on error + HRESULT hr; + tableAccWhat what; + + if (pszDefaultAction == NULL) + return E_POINTER; + *pszDefaultAction = NULL; + if (TA->t == NULL || TA->std == NULL) return RPC_E_DISCONNECTED; - } - return IAccessible_get_accDefaultAction(TA->std, varChild, pszDefaultAction); + what = TA->what; + hr = normalizeWhat(TA, varChild, &what); + if (hr != S_OK) + return hr; + if (what.role == ROLE_SYSTEM_CELL) + ; // TODO implement this for checkbox cells? + return DISP_E_MEMBERNOTFOUND; } // TODO should this method result in an event?