vbscript: Don't allow changing script state when script site is not set.

Signed-off-by: Jacek Caban <jacek@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
This commit is contained in:
Jacek Caban 2019-11-05 14:08:09 +01:00 committed by Alexandre Julliard
parent e343fcaf76
commit 706898dcbb
2 changed files with 6 additions and 1 deletions

View File

@ -713,6 +713,11 @@ static void test_vbscript_uninitializing(void)
test_no_script_dispatch(script);
hres = IActiveScript_SetScriptState(script, SCRIPTSTATE_STARTED);
ok(hres == E_UNEXPECTED, "SetScriptState(SCRIPTSTATE_STARTED) failed: %08x\n", hres);
hres = IActiveScript_SetScriptState(script, SCRIPTSTATE_INITIALIZED);
ok(hres == E_UNEXPECTED, "SetScriptState(SCRIPTSTATE_INITIALIZED) failed: %08x\n", hres);
SET_EXPECT(GetLCID);
SET_EXPECT(OnStateChange_INITIALIZED);
hres = IActiveScript_SetScriptSite(script, &ActiveScriptSite);

View File

@ -457,7 +457,7 @@ static HRESULT WINAPI VBScript_SetScriptState(IActiveScript *iface, SCRIPTSTATE
return S_OK;
}
if(!This->is_initialized)
if(!This->is_initialized || !This->ctx->site)
return E_UNEXPECTED;
switch(ss) {