[PATCH v2 1/7] wmp: Add IWMPPlayer interface
Jacek Caban
jacek at codeweavers.com
Tue Feb 6 11:37:27 CST 2018
Hi Anton,
On 02/06/2018 06:20 PM, Anton Romanov wrote:
> Jacek,
>
> On Tue, Feb 6, 2018 at 8:34 AM, Jacek Caban <jacek at codeweavers.com> wrote:
>> Hi Anton,
>>
>> On 02/02/2018 07:00 AM, Anton Romanov wrote:
>>> TRACE("(%p)->(IID_IWMPPlayer4 %p)\n", This, ppv);
>>> *ppv = &This->IWMPPlayer4_iface;
>>> + }else if(IsEqualGUID(riid, &IID_IWMPPlayer)) {
>>> + TRACE("(%p)->(IID_IWMPPlayer %p)\n", This, ppv);
>>> + *ppv = &This->IWMPPlayer4_iface;
>>
>> You can't do that. IWMPPlayer4 doesn't inherit from IWMPPlayer, so it's
>> not the same interface. Also a short test (just calling QueryInterface()
>> and checking the result) would be nice.
> Thanks for feedback.
> Have you had a chance to look at other patches in this series?
> I'm just unsure should I address something else as well before
> submitting new version.
I had a quick look, but didn't look closely yet. I noticed that there
are no tests, while at least a bit of them would be nice. Here are some
thoughts:
- patch 3: It seems like IWMPControls should be implemented in a
separated object. With your implementation, QueryInterface will not do
the right thing (it will never return IWMPControls, but when called on
IWMPControls from get_controls(), it will find other WindowsMediaPlayer
interfaces). Also we usually keep function implementations in the same
order as declared in IDL file.
- patch 4 worries me a bit. It misses license header and has comments
similar to PSDK version. Note that copying PSDK headers is not allowed.
- patch 5 and 6 has similar problems to patch 3.
In general, I'd suggest to resend the first patch or two and wait with
others until this one is merged. It's often a case that feedback from
the first patch will be important for others as well.
Thanks,
Jacek
More information about the wine-devel
mailing list