tdf#154039 wina11y: Increase refcount for returned COM interface
The reference counter for the IUnknown interface
of the COM object needs to be increased in
`CMAccessible::get_accSelection` as well,
not just in the called `CEnumVariant::Next`,
because calling VariantClear` on the temporary
variant afterwards decreases the ref count again.
Regression from
commit 00c0ee8cf0
Author: Michael Weghorn <m.weghorn@posteo.de>
Date: Mon Jan 31 07:41:14 2022 +0000
tdf#147083 wina11y: Return a11y object instead of child ID
Change-Id: Id968c3d80b38961b836fbb1a9bd6dfeefdff813f
Reviewed-on: https://gerrit.libreoffice.org/c/core/+/148393
Tested-by: Jenkins
Reviewed-by: Michael Weghorn <m.weghorn@posteo.de>
This commit is contained in:
@@ -848,6 +848,7 @@ COM_DECLSPEC_NOTHROW STDMETHODIMP CMAccessible::get_accSelection(VARIANT *pvarCh
|
||||
return S_FALSE;
|
||||
pvarChildren->vt = VT_DISPATCH;
|
||||
pvarChildren->pdispVal = varTmp[0].pdispVal;
|
||||
pvarChildren->pdispVal->AddRef();
|
||||
VariantClear(&varTmp[0]);
|
||||
m_pEnumVar->Reset();
|
||||
break;
|
||||
|
||||
Reference in New Issue
Block a user