diff options
Diffstat (limited to 'winaccessibility/source/UAccCOM/AccImage.cxx')
-rw-r--r-- | winaccessibility/source/UAccCOM/AccImage.cxx | 66 |
1 files changed, 36 insertions, 30 deletions
diff --git a/winaccessibility/source/UAccCOM/AccImage.cxx b/winaccessibility/source/UAccCOM/AccImage.cxx index 5a0630fffe13..666524a71192 100644 --- a/winaccessibility/source/UAccCOM/AccImage.cxx +++ b/winaccessibility/source/UAccCOM/AccImage.cxx @@ -47,21 +47,24 @@ COM_DECLSPEC_NOTHROW STDMETHODIMP CAccImage::get_description(BSTR* description) { SolarMutexGuard g; - ENTER_PROTECTED_BLOCK - - // #CHECK# - if (description == nullptr) - return E_INVALIDARG; - if (!pRXImg.is()) - return E_FAIL; - - OUString ouStr = GetXInterface()->getAccessibleImageDescription(); - SysFreeString(*description); - *description = SysAllocString(o3tl::toW(ouStr.getStr())); + try + { + // #CHECK# + if (description == nullptr) + return E_INVALIDARG; + if (!pRXImg.is()) + return E_FAIL; - return S_OK; + OUString ouStr = GetXInterface()->getAccessibleImageDescription(); + SysFreeString(*description); + *description = SysAllocString(o3tl::toW(ouStr.getStr())); - LEAVE_PROTECTED_BLOCK + return S_OK; + } + catch (...) + { + return E_FAIL; + } } COM_DECLSPEC_NOTHROW STDMETHODIMP CAccImage::get_imagePosition( @@ -88,26 +91,29 @@ COM_DECLSPEC_NOTHROW STDMETHODIMP CAccImage::put_XInterface(hyper pXInterface) { // internal IUNOXWrapper - no mutex meeded - ENTER_PROTECTED_BLOCK - - CUNOXWrapper::put_XInterface(pXInterface); - //special query. - if (pUNOInterface == nullptr) - return E_FAIL; - - Reference<XAccessibleContext> pRContext = pUNOInterface->getAccessibleContext(); - if (!pRContext.is()) + try + { + CUNOXWrapper::put_XInterface(pXInterface); + //special query. + if (pUNOInterface == nullptr) + return E_FAIL; + + Reference<XAccessibleContext> pRContext = pUNOInterface->getAccessibleContext(); + if (!pRContext.is()) + { + return E_FAIL; + } + Reference<XAccessibleImage> pRXI(pRContext, UNO_QUERY); + if (!pRXI.is()) + pRXImg = nullptr; + else + pRXImg = pRXI.get(); + return S_OK; + } + catch (...) { return E_FAIL; } - Reference<XAccessibleImage> pRXI(pRContext, UNO_QUERY); - if (!pRXI.is()) - pRXImg = nullptr; - else - pRXImg = pRXI.get(); - return S_OK; - - LEAVE_PROTECTED_BLOCK } /* vim:set shiftwidth=4 softtabstop=4 expandtab: */ |