summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorPietro Gagliardi <[email protected]>2015-02-16 21:31:57 -0500
committerPietro Gagliardi <[email protected]>2015-02-16 21:31:57 -0500
commited92e59933fc6fb0edc7e29c64460fe0d860948c (patch)
treef4c45de352ec659acc20fa6dd9d8279caf967462
parenta33c8701d18f2da2f415b3257a1deef46f8ed799 (diff)
Implemented get_accDescription().
-rw-r--r--wintable/accessibility.h17
1 files changed, 13 insertions, 4 deletions
diff --git a/wintable/accessibility.h b/wintable/accessibility.h
index f155d38..1ab6cc2 100644
--- a/wintable/accessibility.h
+++ b/wintable/accessibility.h
@@ -299,11 +299,20 @@ static HRESULT STDMETHODCALLTYPE tableAccget_accValue(IAccessible *this, VARIANT
static HRESULT STDMETHODCALLTYPE tableAccget_accDescription(IAccessible *this, VARIANT varChild, BSTR *pszDescription)
{
- if (TA->t == NULL || TA->std == NULL) {
- // TODO set values on error
+ HRESULT hr;
+ tableAccWhat what;
+
+ if (pszDescription == NULL)
+ return E_POINTER;
+ *pszDescription = NULL;
+ if (TA->t == NULL || TA->std == NULL)
return RPC_E_DISCONNECTED;
- }
- return IAccessible_get_accDescription(TA->std, varChild, pszDescription);
+ what = TA->what;
+ hr = normalizeWhat(TA, varChild, &what);
+ if (hr != S_OK)
+ return hr;
+ // don't support descriptions anyway; do return the above errors just to be safe
+ return DISP_E_MEMBERNOTFOUND;
}
static HRESULT STDMETHODCALLTYPE tableAccget_accRole(IAccessible *this, VARIANT varChild, VARIANT *pvarRole)