diff options
| author | Pietro Gagliardi <[email protected]> | 2015-02-16 21:27:22 -0500 |
|---|---|---|
| committer | Pietro Gagliardi <[email protected]> | 2015-02-16 21:27:22 -0500 |
| commit | a33c8701d18f2da2f415b3257a1deef46f8ed799 (patch) | |
| tree | 1455951fd46d22c1d5d875f12d19da9b641a6e68 | |
| parent | 6729c96c1d9f92b24602f896c75c49f6e8a652fa (diff) | |
Implemented get_accDefaultAction().
| -rw-r--r-- | wintable/accessibility.h | 18 |
1 files 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? |
