From: Jacek Caban jacek@codeweavers.com
--- dlls/mshtml/htmlevent.c | 15 ++++++++------- dlls/mshtml/mshtml_private.h | 1 + dlls/mshtml/tests/documentmode.js | 2 ++ 3 files changed, 11 insertions(+), 7 deletions(-)
diff --git a/dlls/mshtml/htmlevent.c b/dlls/mshtml/htmlevent.c index 63ce57fce50..bb72f8bd46c 100644 --- a/dlls/mshtml/htmlevent.c +++ b/dlls/mshtml/htmlevent.c @@ -3616,18 +3616,19 @@ static const dispex_static_data_vtbl_t DOMMouseEvent_dispex_vtbl = { .unlink = DOMMouseEvent_unlink };
-static const tid_t DOMMouseEvent_iface_tids[] = { +static const tid_t MouseEvent_iface_tids[] = { IDOMEvent_tid, IDOMUIEvent_tid, IDOMMouseEvent_tid, 0 };
-static dispex_static_data_t DOMMouseEvent_dispex = { - "MouseEvent", - &DOMMouseEvent_dispex_vtbl, - DispDOMMouseEvent_tid, - DOMMouseEvent_iface_tids +dispex_static_data_t MouseEvent_dispex = { + .id = PROT_MouseEvent, + .prototype_id = PROT_UIEvent, + .vtbl = &DOMMouseEvent_dispex_vtbl, + .disp_tid = DispDOMMouseEvent_tid, + .iface_tids = MouseEvent_iface_tids, };
static const dispex_static_data_vtbl_t DOMKeyboardEvent_dispex_vtbl = { @@ -3803,7 +3804,7 @@ static DOMEvent *ui_event_ctor(void *iface, nsIDOMEvent *nsevent, eventid_t even static DOMEvent *mouse_event_ctor(void *iface, nsIDOMEvent *nsevent, eventid_t event_id, HTMLInnerWindow *script_global, compat_mode_t compat_mode) { - DOMMouseEvent *mouse_event = event_ctor(sizeof(DOMMouseEvent), &DOMMouseEvent_dispex, nsevent, event_id, script_global, compat_mode); + DOMMouseEvent *mouse_event = event_ctor(sizeof(DOMMouseEvent), &MouseEvent_dispex, nsevent, event_id, script_global, compat_mode); if(!mouse_event) return NULL; mouse_event->IDOMMouseEvent_iface.lpVtbl = &DOMMouseEventVtbl; mouse_event->nsevent = iface; diff --git a/dlls/mshtml/mshtml_private.h b/dlls/mshtml/mshtml_private.h index 3a684bc3f96..a628171af93 100644 --- a/dlls/mshtml/mshtml_private.h +++ b/dlls/mshtml/mshtml_private.h @@ -451,6 +451,7 @@ typedef struct { X(MSCurrentStyleCSSProperties) \ X(MSEventObj) \ X(MSStyleCSSProperties) \ + X(MouseEvent) \ X(MutationObserver) \ X(Navigator) \ X(Node) \ diff --git a/dlls/mshtml/tests/documentmode.js b/dlls/mshtml/tests/documentmode.js index 240a8abba36..16287ee5ecb 100644 --- a/dlls/mshtml/tests/documentmode.js +++ b/dlls/mshtml/tests/documentmode.js @@ -3245,4 +3245,6 @@ sync_test("prototypes", function() { check(Event.prototype, Object.prototype, "event prototype"); check(document.createEvent("UIEvent"), UIEvent.prototype, "UI event"); check(UIEvent.prototype, Event.prototype, "UI event prototype"); + check(document.createEvent("MouseEvent"), MouseEvent.prototype, "mouse event"); + check(MouseEvent.prototype, UIEvent.prototype, "mouse event prototype"); });