Module: wine Branch: master Commit: 1c881e534b8ab59c09e9f291e39176b39fbd78d3 URL: http://source.winehq.org/git/wine.git/?a=commit;h=1c881e534b8ab59c09e9f291e3...
Author: Jacek Caban jacek@codeweavers.com Date: Fri Feb 25 14:11:05 2011 +0100
mshtml: Moved call_disp_func to htmlevent.c.
---
dlls/mshtml/dispex.c | 24 ------------------------ dlls/mshtml/htmlevent.c | 24 ++++++++++++++++++++++++ dlls/mshtml/mshtml_private.h | 4 +--- 3 files changed, 25 insertions(+), 27 deletions(-)
diff --git a/dlls/mshtml/dispex.c b/dlls/mshtml/dispex.c index b360442..be949d5 100644 --- a/dlls/mshtml/dispex.c +++ b/dlls/mshtml/dispex.c @@ -324,30 +324,6 @@ static dispex_data_t *get_dispex_data(DispatchEx *This) return This->data->data; }
-HRESULT call_disp_func(IDispatch *disp, DISPPARAMS *dp) -{ - EXCEPINFO ei; - IDispatchEx *dispex; - VARIANT res; - HRESULT hres; - - VariantInit(&res); - memset(&ei, 0, sizeof(ei)); - - hres = IDispatch_QueryInterface(disp, &IID_IDispatchEx, (void**)&dispex); - if(SUCCEEDED(hres)) { - hres = IDispatchEx_InvokeEx(dispex, 0, GetUserDefaultLCID(), DISPATCH_METHOD, dp, &res, &ei, NULL); - IDispatchEx_Release(dispex); - }else { - TRACE("Could not get IDispatchEx interface: %08x\n", hres); - hres = IDispatch_Invoke(disp, 0, &IID_NULL, GetUserDefaultLCID(), DISPATCH_METHOD, - dp, &res, &ei, NULL); - } - - VariantClear(&res); - return hres; -} - static inline BOOL is_custom_dispid(DISPID id) { return MSHTML_DISPID_CUSTOM_MIN <= id && id <= MSHTML_DISPID_CUSTOM_MAX; diff --git a/dlls/mshtml/htmlevent.c b/dlls/mshtml/htmlevent.c index 19a6013..c8dad46 100644 --- a/dlls/mshtml/htmlevent.c +++ b/dlls/mshtml/htmlevent.c @@ -786,6 +786,30 @@ static IHTMLEventObj *create_event(HTMLDOMNode *target, eventid_t eid, nsIDOMEve return &ret->IHTMLEventObj_iface; }
+static HRESULT call_disp_func(IDispatch *disp, DISPPARAMS *dp) +{ + EXCEPINFO ei; + IDispatchEx *dispex; + VARIANT res; + HRESULT hres; + + VariantInit(&res); + memset(&ei, 0, sizeof(ei)); + + hres = IDispatch_QueryInterface(disp, &IID_IDispatchEx, (void**)&dispex); + if(SUCCEEDED(hres)) { + hres = IDispatchEx_InvokeEx(dispex, 0, GetUserDefaultLCID(), DISPATCH_METHOD, dp, &res, &ei, NULL); + IDispatchEx_Release(dispex); + }else { + TRACE("Could not get IDispatchEx interface: %08x\n", hres); + hres = IDispatch_Invoke(disp, 0, &IID_NULL, GetUserDefaultLCID(), DISPATCH_METHOD, + dp, &res, &ei, NULL); + } + + VariantClear(&res); + return hres; +} + static HRESULT call_cp_func(IDispatch *disp, DISPID dispid) { DISPPARAMS dp = {NULL,NULL,0,0}; diff --git a/dlls/mshtml/mshtml_private.h b/dlls/mshtml/mshtml_private.h index e69949e..9bb11fb 100644 --- a/dlls/mshtml/mshtml_private.h +++ b/dlls/mshtml/mshtml_private.h @@ -204,6 +204,7 @@ BOOL dispex_query_interface(DispatchEx*,REFIID,void**); HRESULT dispex_get_dprop_ref(DispatchEx*,const WCHAR*,BOOL,VARIANT**); HRESULT get_dispids(tid_t,DWORD*,DISPID**); HRESULT remove_prop(DispatchEx*,BSTR,VARIANT_BOOL*); +void release_typelib(void);
typedef struct HTMLWindow HTMLWindow; typedef struct HTMLDocumentNode HTMLDocumentNode; @@ -866,9 +867,6 @@ void remove_target_tasks(LONG); DWORD set_task_timer(HTMLDocument*,DWORD,BOOL,IDispatch*); HRESULT clear_task_timer(HTMLDocument*,BOOL,DWORD);
-void release_typelib(void); -HRESULT call_disp_func(IDispatch*,DISPPARAMS*); - const char *debugstr_variant(const VARIANT*);
DEFINE_GUID(CLSID_AboutProtocol, 0x3050F406, 0x98B5, 0x11CF, 0xBB,0x82, 0x00,0xAA,0x00,0xBD,0xCE,0x0B);