[01/18] windowscodecs: Do not assume that vtable is the first element of the object.
dmitry at baikal.ru
Tue Jul 24 10:47:12 CDT 2012
Vincent Povirk <madewokherd at gmail.com> wrote:
> >> I disagree with many of the choices in this series (for example, I
> >> think casting an interface pointer to an inherited interface is fine,
> >> and replacing that with QueryInterface just adds unnecessary
> >> additional logic), but I don't think any semantics have been changed
> >> and overall it's a good cleanup.
> > Please also consider that many of the objects may be implemented by
> > a someone's else codec dll, and relying on an implementation detail
> > is not acceptable in that case.
> An implementation where the two approaches work differently would be
> wrong. Every interface with IWICBitmapSource methods should implement
> them in the same way. In cases where it matters we "should" match
> native which could be doing either.
Requesting somebody how he "should" implement things instead of calling
QueryInterface() when appropriate and avoiding potentially harmful casts
sounds like a not very nice stance. Arguing that native implementation
may be doing it wrong doesn't help either.
More information about the wine-devel