Hi Austin, 2008/7/3 Austin Lund <austin.lund(a)gmail.com>:
2008/7/4 Dan Hipschman <dsh(a)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.