On Mon, 2003-07-21 at 17:30, Ove Kaaven wrote:
I found that it's in IDispatch_Invoke_Stub - it calls IDispatch::Invoke on the actual object and crashes, in native shdocvw code. So, I guess the inputs its given there are incorrect somehow. I'll look into it some more.
OK.
I found the problem was due to the location of the riid = NULL initializer code. For some reason, when the: REFIID riid = NULL; line is at the function prologue, assigning to it using *ppMemory doesn't work. If the variable is initialized to NULL inside the RPC TryFinally area, just before the call to NdrSimpleStructUnmarshall, it works OK.
So, I'm CCing Greg as well, to see if he knows why the Wine SEH code might interfere with setting the values like that. As it is, until the actual problem is found I just have to remember to edit the midl output.
thanks -mike