Module: wine Branch: master Commit: b55711647f0f33f607472e0677e3046ae5cb584d URL: https://gitlab.winehq.org/wine/wine/-/commit/b55711647f0f33f607472e0677e3046...
Author: Jacek Caban jacek@codeweavers.com Date: Mon Jul 15 20:59:32 2024 +0200
mshtml: Don't use BSTR in find_dispid.
---
dlls/mshtml/htmldoc.c | 2 +- dlls/mshtml/htmlwindow.c | 10 +++++----- dlls/mshtml/mshtml_private.h | 2 +- 3 files changed, 7 insertions(+), 7 deletions(-)
diff --git a/dlls/mshtml/htmldoc.c b/dlls/mshtml/htmldoc.c index a5f4f558bdd..75b2b0b831d 100644 --- a/dlls/mshtml/htmldoc.c +++ b/dlls/mshtml/htmldoc.c @@ -5389,7 +5389,7 @@ static HRESULT HTMLDocumentNode_get_dispid(DispatchEx *dispex, BSTR name, DWORD return hres; }
-static HRESULT HTMLDocumentNode_find_dispid(DispatchEx *dispex, BSTR name, DWORD grfdex, DISPID *dispid) +static HRESULT HTMLDocumentNode_find_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/htmlwindow.c b/dlls/mshtml/htmlwindow.c index af2a0e83d66..e53d9cacd42 100644 --- a/dlls/mshtml/htmlwindow.c +++ b/dlls/mshtml/htmlwindow.c @@ -3309,7 +3309,7 @@ static ULONG WINAPI WindowDispEx_Release(IWineJSDispatchHost *iface) DISPEX_IDISPATCH_NOUNK_IMPL(WindowDispEx, IWineJSDispatchHost, impl_from_IWineJSDispatchHost(iface)->base.inner_window->event_target.dispex)
-static global_prop_t *alloc_global_prop(HTMLInnerWindow *This, global_prop_type_t type, BSTR name) +static global_prop_t *alloc_global_prop(HTMLInnerWindow *This, global_prop_type_t type, const WCHAR *name) { if(This->global_prop_cnt == This->global_prop_size) { global_prop_t *new_props; @@ -3781,12 +3781,12 @@ static HRESULT HTMLWindow_lookup_dispid(DispatchEx *dispex, BSTR name, DWORD grf return search_window_props(This, name, grfdex, dispid); }
-static HRESULT HTMLWindow_find_dispid(DispatchEx *dispex, BSTR name, DWORD grfdex, DISPID *dispid) +static HRESULT HTMLWindow_find_dispid(DispatchEx *dispex, const WCHAR *name, DWORD grfdex, DISPID *dispid) { HTMLInnerWindow *This = impl_from_DispatchEx(dispex); HTMLOuterWindow *frame; global_prop_t *prop; - IHTMLElement *elem; + HTMLElement *elem; HRESULT hres;
hres = get_frame_by_name(This->base.outer_window, name, FALSE, &frame); @@ -3799,9 +3799,9 @@ static HRESULT HTMLWindow_find_dispid(DispatchEx *dispex, BSTR name, DWORD grfde return S_OK; }
- hres = IHTMLDocument3_getElementById(&This->doc->IHTMLDocument3_iface, name, &elem); + hres = get_doc_elem_by_id(This->doc, name, &elem); if(SUCCEEDED(hres) && elem) { - IHTMLElement_Release(elem); + IHTMLElement_Release(&elem->IHTMLElement_iface);
prop = alloc_global_prop(This, GLOBAL_ELEMENTVAR, name); if(!prop) diff --git a/dlls/mshtml/mshtml_private.h b/dlls/mshtml/mshtml_private.h index fd1eb9f4822..d79c8b6a24e 100644 --- a/dlls/mshtml/mshtml_private.h +++ b/dlls/mshtml/mshtml_private.h @@ -382,7 +382,7 @@ typedef struct { HRESULT (*get_dispid)(DispatchEx*,BSTR,DWORD,DISPID*);
/* Similar to get_dispid, but called only when a dynamic property can't be found */ - HRESULT (*find_dispid)(DispatchEx*,BSTR,DWORD,DISPID*); + HRESULT (*find_dispid)(DispatchEx*,const WCHAR*,DWORD,DISPID*);
/* Similar to get_dispid, but called before any other lookup */ HRESULT (*lookup_dispid)(DispatchEx*,BSTR,DWORD,DISPID*);