From: Jacek Caban jacek@codeweavers.com
--- dlls/mshtml/dispex.c | 8 +++----- dlls/mshtml/htmldoc.c | 2 +- dlls/mshtml/htmlelem.c | 16 ++++++++-------- dlls/mshtml/htmlelemcol.c | 4 ++-- dlls/mshtml/htmlform.c | 2 +- dlls/mshtml/htmlframe.c | 4 ++-- dlls/mshtml/htmlnode.c | 4 ++-- dlls/mshtml/htmlobject.c | 2 +- dlls/mshtml/htmlselect.c | 2 +- dlls/mshtml/htmlstorage.c | 2 +- dlls/mshtml/htmlstyle.c | 2 +- dlls/mshtml/htmlstyle.h | 2 +- dlls/mshtml/htmlstylesheet.c | 8 ++++---- dlls/mshtml/mshtml_private.h | 2 +- dlls/mshtml/pluginhost.c | 4 ++-- dlls/mshtml/pluginhost.h | 2 +- 16 files changed, 32 insertions(+), 34 deletions(-)
diff --git a/dlls/mshtml/dispex.c b/dlls/mshtml/dispex.c index 75738455d10..5ebd1fa52e8 100644 --- a/dlls/mshtml/dispex.c +++ b/dlls/mshtml/dispex.c @@ -999,7 +999,7 @@ static HRESULT function_value(DispatchEx *dispex, LCID lcid, WORD flags, DISPPAR return hres; }
-static HRESULT function_get_dispid(DispatchEx *dispex, BSTR name, DWORD flags, DISPID *dispid) +static HRESULT function_get_dispid(DispatchEx *dispex, const WCHAR *name, DWORD flags, DISPID *dispid) { DWORD i;
@@ -1173,7 +1173,7 @@ static HRESULT get_builtin_func(dispex_data_t *data, DISPID id, func_info_t **re return DISP_E_MEMBERNOTFOUND; }
-static HRESULT get_builtin_id(DispatchEx *This, BSTR name, DWORD grfdex, DISPID *ret) +static HRESULT get_builtin_id(DispatchEx *This, const WCHAR *name, DWORD grfdex, DISPID *ret) { int min, max, n, c; HRESULT hres; @@ -2304,9 +2304,7 @@ static HRESULT WINAPI JSDispatchHost_LookupProperty(IWineJSDispatchHost *iface,
TRACE("%s (%p)->(%s)\n", This->info->desc->name, This, debugstr_w(name));
- /* FIXME: name cast works as long as the object doesn't require the actual BSTR for its custom - * properties, we will need to fix it properly. */ - hres = get_builtin_id(This, (BSTR)name, flags, &id); + hres = get_builtin_id(This, name, flags, &id); if(FAILED(hres)) return hres;
diff --git a/dlls/mshtml/htmldoc.c b/dlls/mshtml/htmldoc.c index 75b2b0b831d..6fe1516a720 100644 --- a/dlls/mshtml/htmldoc.c +++ b/dlls/mshtml/htmldoc.c @@ -5375,7 +5375,7 @@ static HRESULT HTMLDocumentNode_get_name(DispatchEx *dispex, DISPID id, BSTR *na return (*name = SysAllocString(This->elem_vars[idx])) ? S_OK : E_OUTOFMEMORY; }
-static HRESULT HTMLDocumentNode_get_dispid(DispatchEx *dispex, BSTR name, DWORD grfdex, DISPID *dispid) +static HRESULT HTMLDocumentNode_get_dispid(DispatchEx *dispex, const WCHAR *name, DWORD grfdex, DISPID *dispid) { HTMLDocumentNode *This = impl_from_DispatchEx(dispex); HRESULT hres = DISP_E_UNKNOWNNAME; diff --git a/dlls/mshtml/htmlelem.c b/dlls/mshtml/htmlelem.c index b26b8eac40e..0b08b0e4995 100644 --- a/dlls/mshtml/htmlelem.c +++ b/dlls/mshtml/htmlelem.c @@ -1052,12 +1052,12 @@ static void HTMLRectCollection_destructor(DispatchEx *dispex) free(This); }
-static HRESULT HTMLRectCollection_get_dispid(DispatchEx *dispex, BSTR name, DWORD flags, DISPID *dispid) +static HRESULT HTMLRectCollection_get_dispid(DispatchEx *dispex, const WCHAR *name, DWORD flags, DISPID *dispid) { HTMLRectCollection *This = HTMLRectCollection_from_DispatchEx(dispex); + const WCHAR *ptr; UINT32 len = 0; DWORD idx = 0; - WCHAR *ptr;
for(ptr = name; *ptr && is_digit(*ptr); ptr++) idx = idx*10 + (*ptr-'0'); @@ -7086,7 +7086,7 @@ static HRESULT token_list_value(DispatchEx *dispex, LCID lcid, WORD flags, DISPP return S_OK; }
-static HRESULT token_list_get_dispid(DispatchEx *dispex, BSTR name, DWORD flags, DISPID *dispid) +static HRESULT token_list_get_dispid(DispatchEx *dispex, const WCHAR *name, DWORD flags, DISPID *dispid) { WCHAR *end; LONG idx; @@ -7464,9 +7464,9 @@ static void HTMLFiltersCollection_destructor(DispatchEx *dispex) free(This); }
-static HRESULT HTMLFiltersCollection_get_dispid(DispatchEx *dispex, BSTR name, DWORD flags, DISPID *dispid) +static HRESULT HTMLFiltersCollection_get_dispid(DispatchEx *dispex, const WCHAR *name, DWORD flags, DISPID *dispid) { - WCHAR *ptr; + const WCHAR *ptr; int idx = 0;
for(ptr = name; *ptr && is_digit(*ptr); ptr++) @@ -7570,7 +7570,7 @@ static HRESULT get_attr_dispid_by_idx(HTMLAttributeCollection *This, LONG *idx, return get_attr_dispid_by_relative_idx(This, idx, DISPID_STARTENUM, dispid); }
-static inline HRESULT get_attr_dispid_by_name(HTMLAttributeCollection *This, BSTR name, DISPID *id) +static inline HRESULT get_attr_dispid_by_name(HTMLAttributeCollection *This, const WCHAR *name, DISPID *id) { HRESULT hres;
@@ -7587,7 +7587,7 @@ static inline HRESULT get_attr_dispid_by_name(HTMLAttributeCollection *This, BST }
hres = IWineJSDispatchHost_GetDispID(&This->elem->node.event_target.dispex.IWineJSDispatchHost_iface, - name, fdexNameCaseInsensitive, id); + (BSTR)name, fdexNameCaseInsensitive, id); return hres; }
@@ -8052,7 +8052,7 @@ static void HTMLAttributeCollection_destructor(DispatchEx *dispex) free(This); }
-static HRESULT HTMLAttributeCollection_get_dispid(DispatchEx *dispex, BSTR name, DWORD flags, DISPID *dispid) +static HRESULT HTMLAttributeCollection_get_dispid(DispatchEx *dispex, const WCHAR *name, DWORD flags, DISPID *dispid) { HTMLAttributeCollection *This = HTMLAttributeCollection_from_DispatchEx(dispex); HTMLDOMAttribute *attr; diff --git a/dlls/mshtml/htmlelemcol.c b/dlls/mshtml/htmlelemcol.c index 92ea4584aa4..a264813f9bb 100644 --- a/dlls/mshtml/htmlelemcol.c +++ b/dlls/mshtml/htmlelemcol.c @@ -506,10 +506,10 @@ static void HTMLElementCollection_destructor(DispatchEx *dispex)
#define DISPID_ELEMCOL_0 MSHTML_DISPID_CUSTOM_MIN
-static HRESULT HTMLElementCollection_get_dispid(DispatchEx *dispex, BSTR name, DWORD flags, DISPID *dispid) +static HRESULT HTMLElementCollection_get_dispid(DispatchEx *dispex, const WCHAR *name, DWORD flags, DISPID *dispid) { HTMLElementCollection *This = impl_from_DispatchEx(dispex); - WCHAR *ptr; + const WCHAR *ptr; DWORD idx=0;
if(!*name) diff --git a/dlls/mshtml/htmlform.c b/dlls/mshtml/htmlform.c index 7be9c1c95d7..b9ed7eabe51 100644 --- a/dlls/mshtml/htmlform.c +++ b/dlls/mshtml/htmlform.c @@ -750,7 +750,7 @@ static void HTMLFormElement_unlink(DispatchEx *dispex) unlink_ref(&This->nsform); }
-static HRESULT HTMLFormElement_get_dispid(DispatchEx *dispex, BSTR name, DWORD grfdex, DISPID *dispid) +static HRESULT HTMLFormElement_get_dispid(DispatchEx *dispex, const WCHAR *name, DWORD grfdex, DISPID *dispid) { HTMLFormElement *This = impl_from_DispatchEx(dispex); nsIDOMHTMLCollection *elements; diff --git a/dlls/mshtml/htmlframe.c b/dlls/mshtml/htmlframe.c index 953add5672d..78890b43e05 100644 --- a/dlls/mshtml/htmlframe.c +++ b/dlls/mshtml/htmlframe.c @@ -860,7 +860,7 @@ static void HTMLFrameElement_destructor(DispatchEx *dispex) HTMLFrameBase_destructor(&This->framebase); }
-static HRESULT HTMLFrameElement_get_dispid(DispatchEx *dispex, BSTR name, DWORD grfdex, DISPID *dispid) +static HRESULT HTMLFrameElement_get_dispid(DispatchEx *dispex, const WCHAR *name, DWORD grfdex, DISPID *dispid) { HTMLFrameElement *This = frame_from_DispatchEx(dispex);
@@ -1297,7 +1297,7 @@ static void HTMLIFrame_destructor(DispatchEx *dispex) HTMLFrameBase_destructor(&This->framebase); }
-static HRESULT HTMLIFrame_get_dispid(DispatchEx *dispex, BSTR name, DWORD grfdex, DISPID *dispid) +static HRESULT HTMLIFrame_get_dispid(DispatchEx *dispex, const WCHAR *name, DWORD grfdex, DISPID *dispid) { HTMLIFrame *This = iframe_from_DispatchEx(dispex);
diff --git a/dlls/mshtml/htmlnode.c b/dlls/mshtml/htmlnode.c index 36e89818bb3..f549999b429 100644 --- a/dlls/mshtml/htmlnode.c +++ b/dlls/mshtml/htmlnode.c @@ -317,10 +317,10 @@ static void HTMLDOMChildrenCollection_destructor(DispatchEx *dispex)
#define DISPID_CHILDCOL_0 MSHTML_DISPID_CUSTOM_MIN
-static HRESULT HTMLDOMChildrenCollection_get_dispid(DispatchEx *dispex, BSTR name, DWORD flags, DISPID *dispid) +static HRESULT HTMLDOMChildrenCollection_get_dispid(DispatchEx *dispex, const WCHAR *name, DWORD flags, DISPID *dispid) { HTMLDOMChildrenCollection *This = impl_from_DispatchEx(dispex); - WCHAR *ptr; + const WCHAR *ptr; DWORD idx=0; UINT32 len = 0;
diff --git a/dlls/mshtml/htmlobject.c b/dlls/mshtml/htmlobject.c index 471ea764da8..7c9892ce999 100644 --- a/dlls/mshtml/htmlobject.c +++ b/dlls/mshtml/htmlobject.c @@ -663,7 +663,7 @@ static void HTMLObjectElement_destructor(DispatchEx *dispex) HTMLElement_destructor(&This->plugin_container.element.node.event_target.dispex); }
-static HRESULT HTMLObjectElement_get_dispid(DispatchEx *dispex, BSTR name, DWORD grfdex, DISPID *dispid) +static HRESULT HTMLObjectElement_get_dispid(DispatchEx *dispex, const WCHAR *name, DWORD grfdex, DISPID *dispid) { HTMLObjectElement *This = impl_from_DispatchEx(dispex);
diff --git a/dlls/mshtml/htmlselect.c b/dlls/mshtml/htmlselect.c index e85ed53c3d5..8cfbbe58c45 100644 --- a/dlls/mshtml/htmlselect.c +++ b/dlls/mshtml/htmlselect.c @@ -1215,7 +1215,7 @@ static void HTMLSelectElement_unlink(DispatchEx *dispex)
#define DISPID_OPTIONCOL_0 MSHTML_DISPID_CUSTOM_MIN
-static HRESULT HTMLSelectElement_get_dispid(DispatchEx *dispex, BSTR name, DWORD flags, DISPID *dispid) +static HRESULT HTMLSelectElement_get_dispid(DispatchEx *dispex, const WCHAR *name, DWORD flags, DISPID *dispid) { const WCHAR *ptr; DWORD idx = 0; diff --git a/dlls/mshtml/htmlstorage.c b/dlls/mshtml/htmlstorage.c index d4a84a05a3c..9920a641957 100644 --- a/dlls/mshtml/htmlstorage.c +++ b/dlls/mshtml/htmlstorage.c @@ -1100,7 +1100,7 @@ static HRESULT get_prop(HTMLStorage *This, const WCHAR *name, DISPID *dispid) return S_OK; }
-static HRESULT HTMLStorage_get_dispid(DispatchEx *dispex, BSTR name, DWORD flags, DISPID *dispid) +static HRESULT HTMLStorage_get_dispid(DispatchEx *dispex, const WCHAR *name, DWORD flags, DISPID *dispid) { HTMLStorage *This = impl_from_DispatchEx(dispex); HRESULT hres; diff --git a/dlls/mshtml/htmlstyle.c b/dlls/mshtml/htmlstyle.c index def56f7aedb..cfc50f150ba 100644 --- a/dlls/mshtml/htmlstyle.c +++ b/dlls/mshtml/htmlstyle.c @@ -9549,7 +9549,7 @@ void CSSStyle_destructor(DispatchEx *dispex) free(This); }
-HRESULT CSSStyle_get_dispid(DispatchEx *dispex, BSTR name, DWORD flags, DISPID *dispid) +HRESULT CSSStyle_get_dispid(DispatchEx *dispex, const WCHAR *name, DWORD flags, DISPID *dispid) { CSSStyle *This = impl_from_DispatchEx(dispex); const style_tbl_entry_t *style_entry; diff --git a/dlls/mshtml/htmlstyle.h b/dlls/mshtml/htmlstyle.h index f6d5ea7c5bb..0818e555cb9 100644 --- a/dlls/mshtml/htmlstyle.h +++ b/dlls/mshtml/htmlstyle.h @@ -155,7 +155,7 @@ void *CSSStyle_query_interface(DispatchEx*,REFIID); void CSSStyle_traverse(DispatchEx*,nsCycleCollectionTraversalCallback*); void CSSStyle_unlink(DispatchEx*); void CSSStyle_destructor(DispatchEx*); -HRESULT CSSStyle_get_dispid(DispatchEx*,BSTR,DWORD,DISPID*); +HRESULT CSSStyle_get_dispid(DispatchEx*,const WCHAR*,DWORD,DISPID*); void CSSStyle_init_dispex_info(dispex_data_t *info, compat_mode_t mode);
HRESULT get_style_property(CSSStyle*,styleid_t,BSTR*); diff --git a/dlls/mshtml/htmlstylesheet.c b/dlls/mshtml/htmlstylesheet.c index 711ef8b4042..1e8982ee098 100644 --- a/dlls/mshtml/htmlstylesheet.c +++ b/dlls/mshtml/htmlstylesheet.c @@ -292,12 +292,12 @@ static void HTMLStyleSheetRulesCollection_destructor(DispatchEx *dispex) free(This); }
-static HRESULT HTMLStyleSheetRulesCollection_get_dispid(DispatchEx *dispex, BSTR name, DWORD flags, DISPID *dispid) +static HRESULT HTMLStyleSheetRulesCollection_get_dispid(DispatchEx *dispex, const WCHAR *name, DWORD flags, DISPID *dispid) { HTMLStyleSheetRulesCollection *This = HTMLStyleSheetRulesCollection_from_DispatchEx(dispex); + const WCHAR *ptr; UINT32 len = 0; DWORD idx = 0; - WCHAR *ptr;
for(ptr = name; *ptr && is_digit(*ptr); ptr++) idx = idx*10 + (*ptr-'0'); @@ -669,12 +669,12 @@ static void HTMLStyleSheetsCollection_destructor(DispatchEx *dispex) free(This); }
-static HRESULT HTMLStyleSheetsCollection_get_dispid(DispatchEx *dispex, BSTR name, DWORD flags, DISPID *dispid) +static HRESULT HTMLStyleSheetsCollection_get_dispid(DispatchEx *dispex, const WCHAR *name, DWORD flags, DISPID *dispid) { HTMLStyleSheetsCollection *This = HTMLStyleSheetsCollection_from_DispatchEx(dispex); + const WCHAR *ptr; UINT32 len = 0; DWORD idx = 0; - WCHAR *ptr;
for(ptr = name; *ptr && is_digit(*ptr); ptr++) idx = idx*10 + (*ptr-'0'); diff --git a/dlls/mshtml/mshtml_private.h b/dlls/mshtml/mshtml_private.h index 620b4986dc6..0f986afbb57 100644 --- a/dlls/mshtml/mshtml_private.h +++ b/dlls/mshtml/mshtml_private.h @@ -379,7 +379,7 @@ typedef struct { HRESULT (*value)(DispatchEx*,LCID,WORD,DISPPARAMS*,VARIANT*,EXCEPINFO*,IServiceProvider*);
/* Used when the object has custom props, and this returns DISPIDs for them */ - HRESULT (*get_dispid)(DispatchEx*,BSTR,DWORD,DISPID*); + HRESULT (*get_dispid)(DispatchEx*,const WCHAR*,DWORD,DISPID*);
/* Similar to get_dispid, but called only when a dynamic property can't be found */ HRESULT (*find_dispid)(DispatchEx*,const WCHAR*,DWORD,DISPID*); diff --git a/dlls/mshtml/pluginhost.c b/dlls/mshtml/pluginhost.c index 5f9e3588239..ce184315127 100644 --- a/dlls/mshtml/pluginhost.c +++ b/dlls/mshtml/pluginhost.c @@ -704,7 +704,7 @@ HRESULT get_plugin_disp(HTMLPluginContainer *plugin_container, IDispatch **ret) return S_OK; }
-HRESULT get_plugin_dispid(HTMLPluginContainer *plugin_container, WCHAR *name, DISPID *ret) +HRESULT get_plugin_dispid(HTMLPluginContainer *plugin_container, const WCHAR *name, DISPID *ret) { IDispatch *disp; DISPID id; @@ -720,7 +720,7 @@ HRESULT get_plugin_dispid(HTMLPluginContainer *plugin_container, WCHAR *name, DI if(!disp) return DISP_E_UNKNOWNNAME;
- hres = IDispatch_GetIDsOfNames(disp, &IID_NULL, &name, 1, 0, &id); + hres = IDispatch_GetIDsOfNames(disp, &IID_NULL, (WCHAR **)&name, 1, 0, &id); if(FAILED(hres)) { TRACE("no prop %s\n", debugstr_w(name)); return DISP_E_UNKNOWNNAME; diff --git a/dlls/mshtml/pluginhost.h b/dlls/mshtml/pluginhost.h index 0aa70991f68..bdef901bc80 100644 --- a/dlls/mshtml/pluginhost.h +++ b/dlls/mshtml/pluginhost.h @@ -67,7 +67,7 @@ void update_plugin_window(PluginHost*,HWND,const RECT*); void detach_plugin_host(PluginHost*);
HRESULT get_plugin_disp(HTMLPluginContainer*,IDispatch**); -HRESULT get_plugin_dispid(HTMLPluginContainer*,WCHAR*,DISPID*); +HRESULT get_plugin_dispid(HTMLPluginContainer*,const WCHAR*,DISPID*); HRESULT invoke_plugin_prop(HTMLPluginContainer*,DISPID,LCID,WORD,DISPPARAMS*,VARIANT*,EXCEPINFO*); void notif_container_change(HTMLPluginContainer*,DISPID); void bind_activex_event(HTMLDocumentNode*,HTMLPluginContainer*,WCHAR*,IDispatch*);