Rémi Bernon (@rbernon) commented about dlls/windows.devices.geolocation.geolocator/main.c:
geolocator_remove_StatusChanged, };
+static inline struct geolocator *impl_from_IWeakReference(IWeakReference *iface) +{ + return CONTAINING_RECORD(iface, struct geolocator, IWeakReference_iface); +} + +static HRESULT WINAPI weak_reference_QueryInterface(IWeakReference *iface, REFIID iid, void **out) +{ + struct geolocator *impl = impl_from_IWeakReference(iface); + return geolocator_QueryInterface(&impl->IGeolocator_iface, iid, out);
I suspect that this should not do that, and only let you query the IWeakReference interface. Otherwise this would be a way to acquire public reference on an invalid (with ref_public == 0) object. -- https://gitlab.winehq.org/wine/wine/-/merge_requests/3189#note_37595