d3d [8]: Remove AddRef from IWineD3D*_QueryInterface. This also removes the implicit AddRef in IWineD3D*_GetContainer.

H. Verbeet hverbeet at gmail.com
Mon Nov 27 17:48:28 CST 2006

I thought we discussed on IRC why this is a bad idea? Anyway, you
can't do this. Removing the AddRef in QueryInterface is a pretty
blatant violation of COM specs, and is pretty sure to cause problems
somewhere. The caller of that function won't always know if the object
it's called on is a wined3d object or not, and will depend on the
behaviour of QueryInterface as defined by COM. Another thing is that
know we get a situation where wined3d objects behave differently from
all other COM objects.

Also, if, as you stated earlier, the idea of these patches is *not* to
get rid of COM in wined3d, I think they're a bad idea. Because in that
case all it will do is make wined3d violate COM rules.

More information about the wine-patches mailing list