diff options
author | Michael Weghorn <m.weghorn@posteo.de> | 2023-03-07 10:35:38 +0000 |
---|---|---|
committer | Andras Timar <andras.timar@collabora.com> | 2023-03-12 18:12:21 +0100 |
commit | b98f5cd0ef604fb9d04316a234925ce8e2fa6f5b (patch) | |
tree | de233bc0423457524dfbcff0005bf512b1143875 /winaccessibility | |
parent | f1f369309e1680ecf5fd8e4fa84940f998c52248 (diff) |
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 00c0ee8cf0fac0c933c5ae600e99a64b1c7d4397
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>
(cherry picked from commit 38e2dde00da0207c5f7157bb427a006d32dfeb5b)
Reviewed-on: https://gerrit.libreoffice.org/c/core/+/148399
Reviewed-by: Michael Stahl <michael.stahl@allotropia.de>
Diffstat (limited to 'winaccessibility')
-rw-r--r-- | winaccessibility/source/UAccCOM/MAccessible.cxx | 1 |
1 files changed, 1 insertions, 0 deletions
diff --git a/winaccessibility/source/UAccCOM/MAccessible.cxx b/winaccessibility/source/UAccCOM/MAccessible.cxx index cf53ec077973..7579d7ee1271 100644 --- a/winaccessibility/source/UAccCOM/MAccessible.cxx +++ b/winaccessibility/source/UAccCOM/MAccessible.cxx @@ -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; |