From a3a9a317de928700d266cde5dda61a605ebbeeb3 Mon Sep 17 00:00:00 2001 From: Jacek Caban Date: Tue, 24 Jun 2008 15:23:30 -0500 Subject: [PATCH] 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 82ee58b485e..eb29241fee3 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 986e17462e6..9bd269336fd 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 ceacde12cbd..7b2bf9e5cee 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, -- 2.11.4.GIT