Jacek Caban : mshtml: Added IHTMLEventObj::get_type implementation.
Alexandre Julliard
julliard at winehq.org
Tue Sep 8 08:54:57 CDT 2009
Module: wine
Branch: master
Commit: 145d53e2acf95976f2eceec7a945765f23cb8a54
URL: http://source.winehq.org/git/wine.git/?a=commit;h=145d53e2acf95976f2eceec7a945765f23cb8a54
Author: Jacek Caban <jacek at codeweavers.com>
Date: Sun Sep 6 18:55:06 2009 +0200
mshtml: Added IHTMLEventObj::get_type implementation.
---
dlls/mshtml/htmlevent.c | 13 +++++++++----
1 files changed, 9 insertions(+), 4 deletions(-)
diff --git a/dlls/mshtml/htmlevent.c b/dlls/mshtml/htmlevent.c
index b2a1e01..cce6e64 100644
--- a/dlls/mshtml/htmlevent.c
+++ b/dlls/mshtml/htmlevent.c
@@ -128,6 +128,7 @@ typedef struct {
LONG ref;
HTMLDOMNode *target;
+ const event_info_t *type;
} HTMLEventObj;
#define HTMLEVENTOBJ(x) ((IHTMLEventObj*) &(x)->lpIHTMLEventObjVtbl)
@@ -315,8 +316,11 @@ static HRESULT WINAPI HTMLEventObj_get_button(IHTMLEventObj *iface, LONG *p)
static HRESULT WINAPI HTMLEventObj_get_type(IHTMLEventObj *iface, BSTR *p)
{
HTMLEventObj *This = HTMLEVENTOBJ_THIS(iface);
- FIXME("(%p)->(%p)\n", This, p);
- return E_NOTIMPL;
+
+ TRACE("(%p)->(%p)\n", This, p);
+
+ *p = SysAllocString(This->type->name);
+ return *p ? S_OK : E_OUTOFMEMORY;
}
static HRESULT WINAPI HTMLEventObj_get_qualifier(IHTMLEventObj *iface, BSTR *p)
@@ -445,13 +449,14 @@ static dispex_static_data_t HTMLEventObj_dispex = {
HTMLEventObj_iface_tids
};
-static IHTMLEventObj *create_event(HTMLDOMNode *target)
+static IHTMLEventObj *create_event(HTMLDOMNode *target, eventid_t eid)
{
HTMLEventObj *ret;
ret = heap_alloc(sizeof(*ret));
ret->lpIHTMLEventObjVtbl = &HTMLEventObjVtbl;
ret->ref = 1;
+ ret->type = event_info+eid;
ret->target = target;
IHTMLDOMNode_AddRef(HTMLDOMNODE(target));
@@ -499,7 +504,7 @@ void fire_event(HTMLDocument *doc, eventid_t eid, nsIDOMNode *target)
}
prev_event = doc->window->event;
- event_obj = doc->window->event = create_event(get_node(doc, target, TRUE));
+ event_obj = doc->window->event = create_event(get_node(doc, target, TRUE), eid);
nsnode = target;
nsIDOMNode_AddRef(nsnode);
More information about the wine-cvs
mailing list