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.