RFC: More tests for riched20 ITextServices

Maarten Lankhorst m.b.lankhorst at gmail.com
Fri Jul 4 01:58:37 CDT 2008


Hi Austin,

2008/7/3 Austin Lund <austin.lund at gmail.com>:
> 2008/7/4 Dan Hipschman <dsh at linux.ucla.edu>:
>> On Thu, Jul 03, 2008 at 05:32:32PM +1000, Austin Lund wrote:
>>> I have run these with the native dll in wine and it works fine, but
>>> would like someone to test them on windows platforms.
>>
>> I couldn't get these to compile within a few minutes due to not being
>> familiar with what headers were needed, but I can comment on a few
>> things to get the ball rolling.
>
> What were the compile errors?  At the moment I can only test it under
> the wine source.  Perhaps this is related to the mangling done for the
> thiscall function calls.
>
>>> +#include "config.h"
>>> +#include "wine/port.h"
>>
>> These should not be included in tests.
>
> This is related to the __ASM_GLOBAL_FUNC and __ASM_NAME used in the
> section where the thiscall to standard call conversion is done.  This
> is also done in dlls/riched20/txtsrv.c.
>
>> Go easy on the trace calls in tests.
>
> Will do.  Done that.
>
>>> +    *ppvObject = NULL;
>>> +
>>> +    if (IsEqualIID(riid, &IID_IUnknown))
>>> +        *ppvObject = (LPVOID)This;
>>> +    else if (IsEqualIID(riid, &IID_ITextHost))
>>> +        *ppvObject = (LPVOID)This;
>>> +    else
>>> +        return E_NOINTERFACE;
>>> +
>>> +    trace("ppvObject now %p\n",ppvObject);
>>> +    if (*ppvObject)
>>> +    {
>>> +        ITextHost_AddRef((ITextHost *)(*ppvObject));
>>> +        return S_OK;
>>> +    }
>>> +
>>> +    return E_NOINTERFACE;
>>
>> This could be easily cleaned up.
>
> I'm not sure what else can be done.  I got rid of the "else if" part.

The second 'return E_NOINTERFACE' will never be reached.

Cheers,
Maarten.



More information about the wine-devel mailing list