Module: wine Branch: master Commit: ab296a305e19e27f221f4487123930bc91226df1 URL: https://gitlab.winehq.org/wine/wine/-/commit/ab296a305e19e27f221f4487123930b...
Author: Nikolay Sivov nsivov@codeweavers.com Date: Wed Jul 12 17:55:37 2023 +0200
windows.globalization: Use separate AddRef/Release methods for the language factory.
This currently works only because refcount field is at the same offset between structures.
---
dlls/windows.globalization/main.c | 16 ++++++++++++++-- 1 file changed, 14 insertions(+), 2 deletions(-)
diff --git a/dlls/windows.globalization/main.c b/dlls/windows.globalization/main.c index 344a60e146b..5254d1d2b3e 100644 --- a/dlls/windows.globalization/main.c +++ b/dlls/windows.globalization/main.c @@ -621,11 +621,23 @@ static HRESULT STDMETHODCALLTYPE windows_globalization_language_factory_QueryInt return E_NOINTERFACE; }
+static ULONG STDMETHODCALLTYPE windows_globalization_language_factory_AddRef(IActivationFactory *iface) +{ + struct language_factory *factory = impl_language_factory_from_IActivationFactory(iface); + return InterlockedIncrement(&factory->ref); +} + +static ULONG STDMETHODCALLTYPE windows_globalization_language_factory_Release(IActivationFactory *iface) +{ + struct language_factory *factory = impl_language_factory_from_IActivationFactory(iface); + return InterlockedDecrement(&factory->ref); +} + static const struct IActivationFactoryVtbl activation_factory_language_vtbl = { windows_globalization_language_factory_QueryInterface, - windows_globalization_AddRef, - windows_globalization_Release, + windows_globalization_language_factory_AddRef, + windows_globalization_language_factory_Release, /* IInspectable methods */ windows_globalization_GetIids, windows_globalization_GetRuntimeClassName,