From 33dbc3c80a0d12935b2973b09ad3b01db95bc0f4 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Gabriel=20Iv=C4=83ncescu?= Date: Fri, 8 Sep 2023 18:24:28 +0300 Subject: [PATCH] mshtml: Use query_interface in the dispex vtbl for HTMLPluginsCollection. MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Signed-off-by: Gabriel Ivăncescu --- dlls/mshtml/omnavigator.c | 29 +++++++++++++++-------------- 1 file changed, 15 insertions(+), 14 deletions(-) diff --git a/dlls/mshtml/omnavigator.c b/dlls/mshtml/omnavigator.c index 0a5d82e8f7a..85a8cd0e41a 100644 --- a/dlls/mshtml/omnavigator.c +++ b/dlls/mshtml/omnavigator.c @@ -798,22 +798,12 @@ static HRESULT WINAPI HTMLPluginsCollection_QueryInterface(IHTMLPluginsCollectio { HTMLPluginsCollection *This = impl_from_IHTMLPluginsCollection(iface); - TRACE("(%p)->(%s %p)\n", This, debugstr_mshtml_guid(riid), ppv); - - if(IsEqualGUID(&IID_IUnknown, riid)) { - *ppv = &This->IHTMLPluginsCollection_iface; - }else if(IsEqualGUID(&IID_IHTMLPluginsCollection, riid)) { - *ppv = &This->IHTMLPluginsCollection_iface; - }else if(dispex_query_interface(&This->dispex, riid, ppv)) { + if(dispex_query_interface(&This->dispex, riid, ppv)) return *ppv ? S_OK : E_NOINTERFACE; - }else { - *ppv = NULL; - WARN("Unsupported interface %s\n", debugstr_mshtml_guid(riid)); - return E_NOINTERFACE; - } - IUnknown_AddRef((IUnknown*)*ppv); - return S_OK; + *ppv = NULL; + WARN("(%p)->(%s %p)\n", This, debugstr_mshtml_guid(riid), ppv); + return E_NOINTERFACE; } static ULONG WINAPI HTMLPluginsCollection_AddRef(IHTMLPluginsCollection *iface) @@ -904,6 +894,16 @@ static inline HTMLPluginsCollection *HTMLPluginsCollection_from_DispatchEx(Dispa return CONTAINING_RECORD(iface, HTMLPluginsCollection, dispex); } +static void *HTMLPluginsCollection_query_interface(DispatchEx *dispex, REFIID riid) +{ + HTMLPluginsCollection *This = HTMLPluginsCollection_from_DispatchEx(dispex); + + if(IsEqualGUID(&IID_IHTMLPluginsCollection, riid)) + return &This->IHTMLPluginsCollection_iface; + + return NULL; +} + static void HTMLPluginsCollection_unlink(DispatchEx *dispex) { HTMLPluginsCollection *This = HTMLPluginsCollection_from_DispatchEx(dispex); @@ -920,6 +920,7 @@ static void HTMLPluginsCollection_destructor(DispatchEx *dispex) } static const dispex_static_data_vtbl_t HTMLPluginsCollection_dispex_vtbl = { + .query_interface = HTMLPluginsCollection_query_interface, .destructor = HTMLPluginsCollection_destructor, .unlink = HTMLPluginsCollection_unlink };