[PATCH 2/2] msscript.ocx: Supply the ServiceProvider in IScriptControl::Run.

Gabriel Ivăncescu gabrielopcode at gmail.com
Wed Apr 8 10:19:18 CDT 2020


On 08/04/2020 16:31, Jacek Caban wrote:
> Hi Gabriel,
> 
> On 08.04.2020 14:52, Gabriel Ivăncescu wrote:
>> Signed-off-by: Gabriel Ivăncescu <gabrielopcode at gmail.com>
>> ---
>>
>> Even though it's a stub for now, it's the reason Windows uses InvokeEx in
>> the first place.
>>
>>   dlls/msscript.ocx/msscript.c       | 2 +-
>>   dlls/msscript.ocx/tests/msscript.c | 1 +
>>   2 files changed, 2 insertions(+), 1 deletion(-)
>>
>> diff --git a/dlls/msscript.ocx/msscript.c b/dlls/msscript.ocx/msscript.c
>> index c4c6485..0086ec2 100644
>> --- a/dlls/msscript.ocx/msscript.c
>> +++ b/dlls/msscript.ocx/msscript.c
>> @@ -1105,7 +1105,7 @@ static HRESULT WINAPI 
>> ScriptControl_Run(IScriptControl *iface, BSTR procedure_na
>>           else
>>           {
>>               hr = IDispatchEx_InvokeEx(dispex, dispid, 
>> LOCALE_USER_DEFAULT,
>> -                                      DISPATCH_METHOD, &dp, res, 
>> NULL, NULL);
>> +                                      DISPATCH_METHOD, &dp, res, 
>> NULL, &This->host->IServiceProvider_iface);
>>               IDispatchEx_Release(dispex);
>>           }
>>       }
>> diff --git a/dlls/msscript.ocx/tests/msscript.c 
>> b/dlls/msscript.ocx/tests/msscript.c
>> index 22db28e..aa0cedc 100644
>> --- a/dlls/msscript.ocx/tests/msscript.c
>> +++ b/dlls/msscript.ocx/tests/msscript.c
>> @@ -329,6 +329,7 @@ static HRESULT WINAPI 
>> DispatchEx_InvokeEx(IDispatchEx *iface, DISPID id, LCID lc
>>       ok(lcid == LOCALE_USER_DEFAULT, "unexpected lcid %u.\n", lcid);
>>       ok(wFlags == DISPATCH_METHOD, "unexpected wFlags %u.\n", wFlags);
>>       ok(id == 0xdeadbeef, "unexpected id %d.\n", id);
>> +    ok(!!pspCaller, "unexpected NULL ServiceProvider.\n");
> 
> 
> It would be interesting to verify here that caller object is the same as 
> host object.
> 
> 
> Thanks,
> 
> Jacek
> 

Hi Jacek,

Interesting point. I added a quick test on Windows and apparently it's 
*not* the same object, so please ignore the patch as it is wrong. I 
guess it creates a separate object for it, but it's probably not worth 
to add it as a stub now.

Thanks,
Gabriel



More information about the wine-devel mailing list