Module: wine Branch: master Commit: 7abe09518762db954ebe643ec6da33a600fdfbb7 URL: https://gitlab.winehq.org/wine/wine/-/commit/7abe09518762db954ebe643ec6da33a...
Author: Gabriel Ivăncescu gabrielopcode@gmail.com Date: Tue Sep 19 17:26:14 2023 +0300
mshtml: Use the dispex's query_interface for DOMTextNodes.
Signed-off-by: Gabriel Ivăncescu gabrielopcode@gmail.com
---
dlls/mshtml/htmltextnode.c | 12 ++++++++---- 1 file changed, 8 insertions(+), 4 deletions(-)
diff --git a/dlls/mshtml/htmltextnode.c b/dlls/mshtml/htmltextnode.c index 2bebe9dee1b..cdbc708a896 100644 --- a/dlls/mshtml/htmltextnode.c +++ b/dlls/mshtml/htmltextnode.c @@ -331,9 +331,14 @@ static HRESULT HTMLDOMTextNode_clone(HTMLDOMNode *iface, nsIDOMNode *nsnode, HTM return HTMLDOMTextNode_Create(This->node.doc, nsnode, ret); }
-static void *HTMLDOMTextNode_QI(HTMLDOMNode *iface, REFIID riid) +static inline HTMLDOMTextNode *impl_from_DispatchEx(DispatchEx *iface) { - HTMLDOMTextNode *This = impl_from_HTMLDOMNode(iface); + return CONTAINING_RECORD(iface, HTMLDOMTextNode, node.event_target.dispex); +} + +static void *HTMLDOMTextNode_query_interface(DispatchEx *dispex, REFIID riid) +{ + HTMLDOMTextNode *This = impl_from_DispatchEx(dispex);
if(IsEqualGUID(&IID_IHTMLDOMTextNode, riid)) return &This->IHTMLDOMTextNode_iface; @@ -346,13 +351,12 @@ static void *HTMLDOMTextNode_QI(HTMLDOMNode *iface, REFIID riid) static const cpc_entry_t HTMLDOMTextNode_cpc[] = {{NULL}};
static const NodeImplVtbl HTMLDOMTextNodeImplVtbl = { - .qi = HTMLDOMTextNode_QI, .cpc_entries = HTMLDOMTextNode_cpc, .clone = HTMLDOMTextNode_clone };
static const dispex_static_data_vtbl_t HTMLDOMTextNode_dispex_vtbl = { - .query_interface = HTMLDOMNode_query_interface, + .query_interface = HTMLDOMTextNode_query_interface, .destructor = HTMLDOMNode_destructor, .traverse = HTMLDOMNode_traverse, .unlink = HTMLDOMNode_unlink