"Vincent Povirk (they/them)" vincent@codeweavers.com wrote:
Yes. This is commonly used to test whether two interface pointers belong to the same object: query them for IUnknown and see if you get the same result.
I see, thanks for the explanation. Under Windows IWICBitmapScaler_QueryInterface and IMILBitmapScaler_QueryInterface return the same interface for IID_IUnknown, but that interface is neither IWICBitmapScaler nor IMILBitmapScaler. Same thing I observe with IWICBitmap and IMILBitmap. Probably the interface returned is some base class that forwards its methods to one of IWIC or IMIL classes.
I guess that changing IMILBitmapScaler_QueryInterface to return the same interface as IWICBitmapScaler_QueryInterface does is the right thing to do.