http://bugs.winehq.org/show_bug.cgi?id=10086
--- Comment #7 from Vincent Povirk madewokherd@gmail.com 2008-05-15 22:52:06 --- So apparently SDL is creating an IDirectDrawSurface, using QueryInterface to get an IDirectDrawSurface3 for the same object, and then calling Release on its original IDirectDrawSurface. Because QueryInterface creates a reference, it would make sense to assume that there would be at least one reference left after it releases the original interface, but apparently that's not what happens on Windows. I suspect that each interface has an independent reference count in this case (that seems to be possible from what little I've been able to read today about COM), and that using QueryInterface to get an IDirectDrawSurface3 does not affect the refcount of the IDirectDrawSurface.