From: Jacek Caban <jacek@codeweavers.com> --- dlls/mshtml/htmlevent.c | 5 ++++- dlls/mshtml/tests/documentmode.js | 1 - dlls/mshtml/tests/events.c | 1 - 3 files changed, 4 insertions(+), 3 deletions(-) diff --git a/dlls/mshtml/htmlevent.c b/dlls/mshtml/htmlevent.c index cb5c1127bd2..e3301f2ddfd 100644 --- a/dlls/mshtml/htmlevent.c +++ b/dlls/mshtml/htmlevent.c @@ -4748,10 +4748,11 @@ HRESULT set_event_handler(EventTarget *event_target, eventid_t eid, VARIANT *var return set_event_handler_disp(event_target, eid, V_DISPATCH(var)); case VT_BSTR: { + compat_mode_t compat_mode = dispex_compat_mode(&event_target->dispex); VARIANT *v; HRESULT hres; - if(!use_event_quirks(event_target)) + if(compat_mode == COMPAT_MODE_IE8) FIXME("Setting to string %s not supported\n", debugstr_w(V_BSTR(var))); /* @@ -4761,6 +4762,8 @@ HRESULT set_event_handler(EventTarget *event_target, eventid_t eid, VARIANT *var * properties. */ remove_event_handler(event_target, eid); + if(compat_mode >= COMPAT_MODE_IE9) + return S_OK; hres = get_event_dispex_ref(event_target, eid, TRUE, &v); if(FAILED(hres)) diff --git a/dlls/mshtml/tests/documentmode.js b/dlls/mshtml/tests/documentmode.js index 1c5f5dd4d25..b0df4ed2479 100644 --- a/dlls/mshtml/tests/documentmode.js +++ b/dlls/mshtml/tests/documentmode.js @@ -2892,7 +2892,6 @@ sync_test("elem_attr", function() { ok(r === (v < 9 ? "test" : "string"), "onclick attr = " + r); r = elem.removeAttribute("onclick"); ok(r === (v < 9 ? true : undefined), "removeAttribute returned " + r); - todo_wine_if(v >= 9). ok(elem.onclick === null, "removed onclick = " + elem.onclick); elem.setAttribute("ondblclick", arr); diff --git a/dlls/mshtml/tests/events.c b/dlls/mshtml/tests/events.c index fbb5a9535ee..77c76957144 100644 --- a/dlls/mshtml/tests/events.c +++ b/dlls/mshtml/tests/events.c @@ -2545,7 +2545,6 @@ static void test_onclick(IHTMLDocument2 *doc) ok(V_VT(&v) == VT_BSTR, "V_VT(onclick) = %d\n", V_VT(&v)); ok(!lstrcmpW(V_BSTR(&v), L"function();"), "V_BSTR(onclick) = %s\n", wine_dbgstr_w(V_BSTR(&v))); }else { - todo_wine ok(V_VT(&v) == VT_NULL, "V_VT(onclick) = %d\n", V_VT(&v)); } VariantClear(&v); -- GitLab https://gitlab.winehq.org/wine/wine/-/merge_requests/9976