Module: wine Branch: master Commit: a3a9a317de928700d266cde5dda61a605ebbeeb3 URL: http://source.winehq.org/git/wine.git/?a=commit;h=a3a9a317de928700d266cde5dd...
Author: Jacek Caban jacek@codeweavers.com Date: Tue Jun 24 15:23:30 2008 -0500
mshtml: Added IHTMLSelectElement::put_onchange implementation.
---
dlls/mshtml/htmlevent.c | 4 ++++ dlls/mshtml/htmlselect.c | 6 ++++-- dlls/mshtml/mshtml_private.h | 1 + 3 files changed, 9 insertions(+), 2 deletions(-)
diff --git a/dlls/mshtml/htmlevent.c b/dlls/mshtml/htmlevent.c index 82ee58b..eb29241 100644 --- a/dlls/mshtml/htmlevent.c +++ b/dlls/mshtml/htmlevent.c @@ -35,6 +35,9 @@ struct event_target_t { IDispatch *event_table[EVENTID_LAST]; };
+static const WCHAR changeW[] = {'c','h','a','n','g','e',0}; +static const WCHAR onchangeW[] = {'o','n','c','h','a','n','g','e',0}; + static const WCHAR clickW[] = {'c','l','i','c','k',0}; static const WCHAR onclickW[] = {'o','n','c','l','i','c','k',0};
@@ -53,6 +56,7 @@ typedef struct { #define EVENT_DEFAULTLISTENER 0x0001
static const event_info_t event_info[] = { + {changeW, onchangeW, EVENT_DEFAULTLISTENER}, {clickW, onclickW, EVENT_DEFAULTLISTENER}, {keyupW, onkeyupW, EVENT_DEFAULTLISTENER}, {loadW, onloadW, 0} diff --git a/dlls/mshtml/htmlselect.c b/dlls/mshtml/htmlselect.c index 986e174..9bd2693 100644 --- a/dlls/mshtml/htmlselect.c +++ b/dlls/mshtml/htmlselect.c @@ -177,8 +177,10 @@ static HRESULT WINAPI HTMLSelectElement_get_options(IHTMLSelectElement *iface, I static HRESULT WINAPI HTMLSelectElement_put_onchange(IHTMLSelectElement *iface, VARIANT v) { HTMLSelectElement *This = HTMLSELECT_THIS(iface); - FIXME("(%p)->()\n", This); - return E_NOTIMPL; + + TRACE("(%p)->()\n", This); + + return set_node_event(&This->element.node, EVENTID_CHANGE, &v); }
static HRESULT WINAPI HTMLSelectElement_get_onchange(IHTMLSelectElement *iface, VARIANT *p) diff --git a/dlls/mshtml/mshtml_private.h b/dlls/mshtml/mshtml_private.h index ceacde1..7b2bf9e 100644 --- a/dlls/mshtml/mshtml_private.h +++ b/dlls/mshtml/mshtml_private.h @@ -99,6 +99,7 @@ typedef enum { } tid_t;
typedef enum { + EVENTID_CHANGE, EVENTID_CLICK, EVENTID_KEYUP, EVENTID_LOAD,