-- v2: mshtml: Use query_interface in the dispex vtbl for HTMLPluginsCollection. mshtml: Use query_interface in the dispex vtbl for HTMLNamespaceCollection. mshtml: Use query_interface in the dispex vtbl for HTMLMimeTypesCollection. mshtml: Use query_interface in the dispex vtbl for HTMLAttributeCollection. mshtml: Use query_interface in the dispex vtbl for HTMLFiltersCollection. mshtml: Use query_interface in the dispex vtbl for HTMLRectCollection. mshtml: Use query_interface in the dispex vtbl for HTMLElementCollection. mshtml: Use query_interface in the dispex vtbl for HTMLDOMChildrenCollection. mshtml: Use query_interface in the dispex vtbl for StyleSheetRules and mshtml: Use query_interface in the dispex vtbl for CSS Styles. mshtml: Use query_interface in the dispex vtbl for HTMLStorage. mshtml: Use query_interface in the dispex vtbl for HTMLLocation. mshtml: Use query_interface in the dispex vtbl for builtin constructors.
From: Gabriel Ivăncescu gabrielopcode@gmail.com
Signed-off-by: Gabriel Ivăncescu gabrielopcode@gmail.com --- dlls/mshtml/htmlimg.c | 29 +++++++++++++++-------------- dlls/mshtml/htmlselect.c | 31 +++++++++++++++---------------- dlls/mshtml/xmlhttprequest.c | 31 +++++++++++++++---------------- 3 files changed, 45 insertions(+), 46 deletions(-)
diff --git a/dlls/mshtml/htmlimg.c b/dlls/mshtml/htmlimg.c index 554df3e6b1e..0a26554818d 100644 --- a/dlls/mshtml/htmlimg.c +++ b/dlls/mshtml/htmlimg.c @@ -758,22 +758,12 @@ static HRESULT WINAPI HTMLImageElementFactory_QueryInterface(IHTMLImageElementFa { HTMLImageElementFactory *This = impl_from_IHTMLImageElementFactory(iface);
- TRACE("(%p)->(%s %p)\n", This, debugstr_mshtml_guid(riid), ppv); - - if(IsEqualGUID(&IID_IUnknown, riid)) { - *ppv = &This->IHTMLImageElementFactory_iface; - }else if(IsEqualGUID(&IID_IHTMLImageElementFactory, riid)) { - *ppv = &This->IHTMLImageElementFactory_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("(%p)->(%s %p)\n", This, debugstr_mshtml_guid(riid), ppv); - 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 HTMLImageElementFactory_AddRef(IHTMLImageElementFactory *iface) @@ -921,6 +911,16 @@ static inline HTMLImageElementFactory *impl_from_DispatchEx(DispatchEx *iface) return CONTAINING_RECORD(iface, HTMLImageElementFactory, dispex); }
+static void *HTMLImageElementFactory_query_interface(DispatchEx *dispex, REFIID riid) +{ + HTMLImageElementFactory *This = impl_from_DispatchEx(dispex); + + if(IsEqualGUID(&IID_IHTMLImageElementFactory, riid)) + return &This->IHTMLImageElementFactory_iface; + + return NULL; +} + static void HTMLImageElementFactory_destructor(DispatchEx *dispex) { HTMLImageElementFactory *This = impl_from_DispatchEx(dispex); @@ -961,6 +961,7 @@ static const tid_t HTMLImageElementFactory_iface_tids[] = { };
static const dispex_static_data_vtbl_t HTMLImageElementFactory_dispex_vtbl = { + .query_interface = HTMLImageElementFactory_query_interface, .destructor = HTMLImageElementFactory_destructor, .value = HTMLImageElementFactory_value, }; diff --git a/dlls/mshtml/htmlselect.c b/dlls/mshtml/htmlselect.c index 808f91d6910..2fefe4ed8f4 100644 --- a/dlls/mshtml/htmlselect.c +++ b/dlls/mshtml/htmlselect.c @@ -430,24 +430,12 @@ static HRESULT WINAPI HTMLOptionElementFactory_QueryInterface(IHTMLOptionElement { HTMLOptionElementFactory *This = impl_from_IHTMLOptionElementFactory(iface);
- TRACE("(%p)->(%s %p)\n", This, debugstr_mshtml_guid(riid), ppv); - - if(IsEqualGUID(&IID_IUnknown, riid)) { - *ppv = &This->IHTMLOptionElementFactory_iface; - }else if(IsEqualGUID(&IID_IDispatch, riid)) { - *ppv = &This->IHTMLOptionElementFactory_iface; - }else if(IsEqualGUID(&IID_IHTMLOptionElementFactory, riid)) { - *ppv = &This->IHTMLOptionElementFactory_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("(%p)->(%s %p)\n", This, debugstr_mshtml_guid(riid), ppv); - 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 HTMLOptionElementFactory_AddRef(IHTMLOptionElementFactory *iface) @@ -566,6 +554,16 @@ static inline HTMLOptionElementFactory *HTMLOptionElementFactory_from_DispatchEx return CONTAINING_RECORD(iface, HTMLOptionElementFactory, dispex); }
+static void *HTMLOptionElementFactory_query_interface(DispatchEx *dispex, REFIID riid) +{ + HTMLOptionElementFactory *This = HTMLOptionElementFactory_from_DispatchEx(dispex); + + if(IsEqualGUID(&IID_IHTMLOptionElementFactory, riid)) + return &This->IHTMLOptionElementFactory_iface; + + return NULL; +} + static void HTMLOptionElementFactory_destructor(DispatchEx *dispex) { HTMLOptionElementFactory *This = HTMLOptionElementFactory_from_DispatchEx(dispex); @@ -610,6 +608,7 @@ static const tid_t HTMLOptionElementFactory_iface_tids[] = { };
static const dispex_static_data_vtbl_t HTMLOptionElementFactory_dispex_vtbl = { + .query_interface = HTMLOptionElementFactory_query_interface, .destructor = HTMLOptionElementFactory_destructor, .value = HTMLOptionElementFactory_value, }; diff --git a/dlls/mshtml/xmlhttprequest.c b/dlls/mshtml/xmlhttprequest.c index 832acc33aef..fffe4807d6c 100644 --- a/dlls/mshtml/xmlhttprequest.c +++ b/dlls/mshtml/xmlhttprequest.c @@ -1641,24 +1641,12 @@ static HRESULT WINAPI HTMLXMLHttpRequestFactory_QueryInterface(IHTMLXMLHttpReque { HTMLXMLHttpRequestFactory *This = impl_from_IHTMLXMLHttpRequestFactory(iface);
- TRACE("(%p)->(%s %p)\n", This, debugstr_mshtml_guid(riid), ppv); - - if(IsEqualGUID(&IID_IUnknown, riid)) { - *ppv = &This->IHTMLXMLHttpRequestFactory_iface; - }else if(IsEqualGUID(&IID_IDispatch, riid)) { - *ppv = &This->IHTMLXMLHttpRequestFactory_iface; - }else if(IsEqualGUID(&IID_IHTMLXMLHttpRequestFactory, riid)) { - *ppv = &This->IHTMLXMLHttpRequestFactory_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("(%p)->(%s %p)\n", This, debugstr_mshtml_guid(riid), ppv); - 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 HTMLXMLHttpRequestFactory_AddRef(IHTMLXMLHttpRequestFactory *iface) @@ -1798,6 +1786,16 @@ static inline HTMLXMLHttpRequestFactory *factory_from_DispatchEx(DispatchEx *ifa return CONTAINING_RECORD(iface, HTMLXMLHttpRequestFactory, dispex); }
+static void *HTMLXMLHttpRequestFactory_query_interface(DispatchEx *dispex, REFIID riid) +{ + HTMLXMLHttpRequestFactory *This = factory_from_DispatchEx(dispex); + + if(IsEqualGUID(&IID_IHTMLXMLHttpRequestFactory, riid)) + return &This->IHTMLXMLHttpRequestFactory_iface; + + return NULL; +} + static void HTMLXMLHttpRequestFactory_destructor(DispatchEx *dispex) { HTMLXMLHttpRequestFactory *This = factory_from_DispatchEx(dispex); @@ -1828,6 +1826,7 @@ static HRESULT HTMLXMLHttpRequestFactory_value(DispatchEx *iface, LCID lcid, WOR }
static const dispex_static_data_vtbl_t HTMLXMLHttpRequestFactory_dispex_vtbl = { + .query_interface = HTMLXMLHttpRequestFactory_query_interface, .destructor = HTMLXMLHttpRequestFactory_destructor, .value = HTMLXMLHttpRequestFactory_value };
From: Gabriel Ivăncescu gabrielopcode@gmail.com
Signed-off-by: Gabriel Ivăncescu gabrielopcode@gmail.com --- dlls/mshtml/htmllocation.c | 37 +++++++++++++++++++------------------ 1 file changed, 19 insertions(+), 18 deletions(-)
diff --git a/dlls/mshtml/htmllocation.c b/dlls/mshtml/htmllocation.c index 5941c383db4..809ea3f5d35 100644 --- a/dlls/mshtml/htmllocation.c +++ b/dlls/mshtml/htmllocation.c @@ -63,26 +63,12 @@ static HRESULT WINAPI HTMLLocation_QueryInterface(IHTMLLocation *iface, REFIID r { HTMLLocation *This = impl_from_IHTMLLocation(iface);
- TRACE("(%p)->(%s %p)\n", This, debugstr_mshtml_guid(riid), ppv); - - if(IsEqualGUID(&IID_IUnknown, riid)) { - *ppv = &This->IHTMLLocation_iface; - }else if(IsEqualGUID(&IID_IHTMLLocation, riid)) { - *ppv = &This->IHTMLLocation_iface; - }else if(IsEqualGUID(&IID_IMarshal, riid)) { - *ppv = NULL; - FIXME("(%p)->(IID_IMarshal %p)\n", This, ppv); - return E_NOINTERFACE; - }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("(%p)->(%s %p)\n", This, debugstr_mshtml_guid(riid), ppv); - 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 HTMLLocation_AddRef(IHTMLLocation *iface) @@ -615,6 +601,20 @@ static inline HTMLLocation *impl_from_DispatchEx(DispatchEx *iface) return CONTAINING_RECORD(iface, HTMLLocation, dispex); }
+static void *HTMLLocation_query_interface(DispatchEx *dispex, REFIID riid) +{ + HTMLLocation *This = impl_from_DispatchEx(dispex); + + if(IsEqualGUID(&IID_IHTMLLocation, riid)) + return &This->IHTMLLocation_iface; + if(IsEqualGUID(&IID_IMarshal, riid)) { + FIXME("(%p)->(IID_IMarshal)\n", This); + return NULL; + } + + return NULL; +} + static void HTMLLocation_traverse(DispatchEx *dispex, nsCycleCollectionTraversalCallback *cb) { HTMLLocation *This = impl_from_DispatchEx(dispex); @@ -639,6 +639,7 @@ static void HTMLLocation_destructor(DispatchEx *dispex) }
static const dispex_static_data_vtbl_t HTMLLocation_dispex_vtbl = { + .query_interface = HTMLLocation_query_interface, .destructor = HTMLLocation_destructor, .traverse = HTMLLocation_traverse, .unlink = HTMLLocation_unlink
From: Gabriel Ivăncescu gabrielopcode@gmail.com
Signed-off-by: Gabriel Ivăncescu gabrielopcode@gmail.com --- dlls/mshtml/htmlstorage.c | 29 +++++++++++++++-------------- 1 file changed, 15 insertions(+), 14 deletions(-)
diff --git a/dlls/mshtml/htmlstorage.c b/dlls/mshtml/htmlstorage.c index 7dd0194ad73..e4454c03d89 100644 --- a/dlls/mshtml/htmlstorage.c +++ b/dlls/mshtml/htmlstorage.c @@ -363,22 +363,12 @@ static HRESULT WINAPI HTMLStorage_QueryInterface(IHTMLStorage *iface, REFIID rii { HTMLStorage *This = impl_from_IHTMLStorage(iface);
- TRACE("(%p)->(%s %p)\n", This, debugstr_mshtml_guid(riid), ppv); - - if(IsEqualGUID(&IID_IUnknown, riid)) { - *ppv = &This->IHTMLStorage_iface; - }else if(IsEqualGUID(&IID_IHTMLStorage, riid)) { - *ppv = &This->IHTMLStorage_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("(%p)->(%s %p)\n", This, debugstr_mshtml_guid(riid), ppv); - 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 HTMLStorage_AddRef(IHTMLStorage *iface) @@ -1055,6 +1045,16 @@ static inline HTMLStorage *impl_from_DispatchEx(DispatchEx *iface) return CONTAINING_RECORD(iface, HTMLStorage, dispex); }
+static void *HTMLStorage_query_interface(DispatchEx *dispex, REFIID riid) +{ + HTMLStorage *This = impl_from_DispatchEx(dispex); + + if(IsEqualGUID(&IID_IHTMLStorage, riid)) + return &This->IHTMLStorage_iface; + + return NULL; +} + static void HTMLStorage_destructor(DispatchEx *dispex) { HTMLStorage *This = impl_from_DispatchEx(dispex); @@ -1310,6 +1310,7 @@ static HRESULT HTMLStorage_next_dispid(DispatchEx *dispex, DISPID id, DISPID *pi }
static const dispex_static_data_vtbl_t HTMLStorage_dispex_vtbl = { + .query_interface = HTMLStorage_query_interface, .destructor = HTMLStorage_destructor, .get_dispid = HTMLStorage_get_dispid, .get_name = HTMLStorage_get_name,
From: Gabriel Ivăncescu gabrielopcode@gmail.com
Signed-off-by: Gabriel Ivăncescu gabrielopcode@gmail.com --- dlls/mshtml/htmlstyle.c | 35 +++++++++++++++++++---------------- 1 file changed, 19 insertions(+), 16 deletions(-)
diff --git a/dlls/mshtml/htmlstyle.c b/dlls/mshtml/htmlstyle.c index ac786326a0f..74549b402b3 100644 --- a/dlls/mshtml/htmlstyle.c +++ b/dlls/mshtml/htmlstyle.c @@ -4735,24 +4735,12 @@ static HRESULT WINAPI HTMLCSSStyleDeclaration_QueryInterface(IHTMLCSSStyleDeclar { CSSStyle *This = impl_from_IHTMLCSSStyleDeclaration(iface);
- TRACE("(%p)->(%s %p)\n", This, debugstr_mshtml_guid(riid), ppv); - - if(IsEqualGUID(&IID_IUnknown, riid)) { - *ppv = &This->IHTMLCSSStyleDeclaration_iface; - }else if(IsEqualGUID(&IID_IHTMLCSSStyleDeclaration, riid)) { - *ppv = &This->IHTMLCSSStyleDeclaration_iface; - }else if(IsEqualGUID(&IID_IHTMLCSSStyleDeclaration2, riid)) { - *ppv = &This->IHTMLCSSStyleDeclaration2_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 if(!This->qi || !(*ppv = This->qi(This, riid))) { - *ppv = NULL; - WARN("unsupported iface %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 HTMLCSSStyleDeclaration_AddRef(IHTMLCSSStyleDeclaration *iface) @@ -9962,6 +9950,20 @@ static inline CSSStyle *impl_from_DispatchEx(DispatchEx *dispex) return CONTAINING_RECORD(dispex, CSSStyle, dispex); }
+static void *CSSStyle_query_interface(DispatchEx *dispex, REFIID riid) +{ + CSSStyle *This = impl_from_DispatchEx(dispex); + + if(IsEqualGUID(&IID_IHTMLCSSStyleDeclaration, riid)) + return &This->IHTMLCSSStyleDeclaration_iface; + if(IsEqualGUID(&IID_IHTMLCSSStyleDeclaration2, riid)) + return &This->IHTMLCSSStyleDeclaration2_iface; + if(This->qi) + return This->qi(This, riid); + + return NULL; +} + static void CSSStyle_traverse(DispatchEx *dispex, nsCycleCollectionTraversalCallback *cb) { CSSStyle *This = impl_from_DispatchEx(dispex); @@ -10009,6 +10011,7 @@ void CSSStyle_init_dispex_info(dispex_data_t *info, compat_mode_t mode) }
const dispex_static_data_vtbl_t CSSStyle_dispex_vtbl = { + .query_interface = CSSStyle_query_interface, .destructor = CSSStyle_destructor, .traverse = CSSStyle_traverse, .unlink = CSSStyle_unlink,
From: Gabriel Ivăncescu gabrielopcode@gmail.com
Signed-off-by: Gabriel Ivăncescu gabrielopcode@gmail.com --- dlls/mshtml/htmlstylesheet.c | 125 +++++++++++++++++------------------ 1 file changed, 62 insertions(+), 63 deletions(-)
diff --git a/dlls/mshtml/htmlstylesheet.c b/dlls/mshtml/htmlstylesheet.c index 49b0053bdce..d14339d974b 100644 --- a/dlls/mshtml/htmlstylesheet.c +++ b/dlls/mshtml/htmlstylesheet.c @@ -79,23 +79,12 @@ static HRESULT WINAPI HTMLStyleSheetRule_QueryInterface(IHTMLStyleSheetRule *ifa { HTMLStyleSheetRule *This = impl_from_IHTMLStyleSheetRule(iface);
- TRACE("(%p)->(%s %p)\n", This, debugstr_mshtml_guid(riid), ppv); - - if (IsEqualGUID(&IID_IUnknown, riid)) - *ppv = &This->IHTMLStyleSheetRule_iface; - else if (IsEqualGUID(&IID_IHTMLStyleSheetRule, riid)) - *ppv = &This->IHTMLStyleSheetRule_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; - FIXME("(%p)->(%s %p)\n", This, debugstr_mshtml_guid(riid), ppv); - 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 HTMLStyleSheetRule_AddRef(IHTMLStyleSheetRule *iface) @@ -196,6 +185,16 @@ static inline HTMLStyleSheetRule *HTMLStyleSheetRule_from_DispatchEx(DispatchEx return CONTAINING_RECORD(iface, HTMLStyleSheetRule, dispex); }
+static void *HTMLStyleSheetRule_query_interface(DispatchEx *dispex, REFIID riid) +{ + HTMLStyleSheetRule *This = HTMLStyleSheetRule_from_DispatchEx(dispex); + + if(IsEqualGUID(&IID_IHTMLStyleSheetRule, riid)) + return &This->IHTMLStyleSheetRule_iface; + + return NULL; +} + static void HTMLStyleSheetRule_traverse(DispatchEx *dispex, nsCycleCollectionTraversalCallback *cb) { HTMLStyleSheetRule *This = HTMLStyleSheetRule_from_DispatchEx(dispex); @@ -216,6 +215,7 @@ static void HTMLStyleSheetRule_destructor(DispatchEx *dispex) }
static const dispex_static_data_vtbl_t HTMLStyleSheetRule_dispex_vtbl = { + .query_interface = HTMLStyleSheetRule_query_interface, .destructor = HTMLStyleSheetRule_destructor, .traverse = HTMLStyleSheetRule_traverse, .unlink = HTMLStyleSheetRule_unlink @@ -269,22 +269,12 @@ static HRESULT WINAPI HTMLStyleSheetRulesCollection_QueryInterface(IHTMLStyleShe { HTMLStyleSheetRulesCollection *This = impl_from_IHTMLStyleSheetRulesCollection(iface);
- TRACE("(%p)->(%s %p)\n", This, debugstr_mshtml_guid(riid), ppv); - - if(IsEqualGUID(&IID_IUnknown, riid)) { - *ppv = &This->IHTMLStyleSheetRulesCollection_iface; - }else if(IsEqualGUID(&IID_IHTMLStyleSheetRulesCollection, riid)) { - *ppv = &This->IHTMLStyleSheetRulesCollection_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; - FIXME("(%p)->(%s %p)\n", This, debugstr_mshtml_guid(riid), ppv); - 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 HTMLStyleSheetRulesCollection_AddRef(IHTMLStyleSheetRulesCollection *iface) @@ -396,6 +386,16 @@ static inline HTMLStyleSheetRulesCollection *HTMLStyleSheetRulesCollection_from_ return CONTAINING_RECORD(iface, HTMLStyleSheetRulesCollection, dispex); }
+static void *HTMLStyleSheetRulesCollection_query_interface(DispatchEx *dispex, REFIID riid) +{ + HTMLStyleSheetRulesCollection *This = HTMLStyleSheetRulesCollection_from_DispatchEx(dispex); + + if(IsEqualGUID(&IID_IHTMLStyleSheetRulesCollection, riid)) + return &This->IHTMLStyleSheetRulesCollection_iface; + + return NULL; +} + static void HTMLStyleSheetRulesCollection_traverse(DispatchEx *dispex, nsCycleCollectionTraversalCallback *cb) { HTMLStyleSheetRulesCollection *This = HTMLStyleSheetRulesCollection_from_DispatchEx(dispex); @@ -492,6 +492,7 @@ static HRESULT HTMLStyleSheetRulesCollection_invoke(DispatchEx *dispex, DISPID i }
static const dispex_static_data_vtbl_t HTMLStyleSheetRulesCollection_dispex_vtbl = { + .query_interface = HTMLStyleSheetRulesCollection_query_interface, .destructor = HTMLStyleSheetRulesCollection_destructor, .traverse = HTMLStyleSheetRulesCollection_traverse, .unlink = HTMLStyleSheetRulesCollection_unlink, @@ -665,24 +666,12 @@ static HRESULT WINAPI HTMLStyleSheetsCollection_QueryInterface(IHTMLStyleSheetsC { HTMLStyleSheetsCollection *This = impl_from_IHTMLStyleSheetsCollection(iface);
- TRACE("(%p)->(%s %p)\n", This, debugstr_mshtml_guid(riid), ppv); - - if(IsEqualGUID(&IID_IUnknown, riid)) { - *ppv = &This->IHTMLStyleSheetsCollection_iface; - }else if(IsEqualGUID(&IID_IDispatch, riid)) { - *ppv = &This->IHTMLStyleSheetsCollection_iface; - }else if(IsEqualGUID(&IID_IHTMLStyleSheetsCollection, riid)) { - *ppv = &This->IHTMLStyleSheetsCollection_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 %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 HTMLStyleSheetsCollection_AddRef(IHTMLStyleSheetsCollection *iface) @@ -836,6 +825,16 @@ static inline HTMLStyleSheetsCollection *HTMLStyleSheetsCollection_from_Dispatch return CONTAINING_RECORD(iface, HTMLStyleSheetsCollection, dispex); }
+static void *HTMLStyleSheetsCollection_query_interface(DispatchEx *dispex, REFIID riid) +{ + HTMLStyleSheetsCollection *This = HTMLStyleSheetsCollection_from_DispatchEx(dispex); + + if(IsEqualGUID(&IID_IHTMLStyleSheetsCollection, riid)) + return &This->IHTMLStyleSheetsCollection_iface; + + return NULL; +} + static void HTMLStyleSheetsCollection_traverse(DispatchEx *dispex, nsCycleCollectionTraversalCallback *cb) { HTMLStyleSheetsCollection *This = HTMLStyleSheetsCollection_from_DispatchEx(dispex); @@ -932,6 +931,7 @@ static HRESULT HTMLStyleSheetsCollection_invoke(DispatchEx *dispex, DISPID id, L }
static const dispex_static_data_vtbl_t HTMLStyleSheetsCollection_dispex_vtbl = { + .query_interface = HTMLStyleSheetsCollection_query_interface, .destructor = HTMLStyleSheetsCollection_destructor, .traverse = HTMLStyleSheetsCollection_traverse, .unlink = HTMLStyleSheetsCollection_unlink, @@ -980,26 +980,12 @@ static HRESULT WINAPI HTMLStyleSheet_QueryInterface(IHTMLStyleSheet *iface, REFI { HTMLStyleSheet *This = impl_from_IHTMLStyleSheet(iface);
- TRACE("(%p)->(%s %p)\n", This, debugstr_mshtml_guid(riid), ppv); - - if(IsEqualGUID(&IID_IUnknown, riid)) { - *ppv = &This->IHTMLStyleSheet_iface; - }else if(IsEqualGUID(&IID_IDispatch, riid)) { - *ppv = &This->IHTMLStyleSheet_iface; - }else if(IsEqualGUID(&IID_IHTMLStyleSheet, riid)) { - *ppv = &This->IHTMLStyleSheet_iface; - }else if(IsEqualGUID(&IID_IHTMLStyleSheet4, riid)) { - *ppv = &This->IHTMLStyleSheet4_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 %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 HTMLStyleSheet_AddRef(IHTMLStyleSheet *iface) @@ -1500,6 +1486,18 @@ static inline HTMLStyleSheet *HTMLStyleSheet_from_DispatchEx(DispatchEx *iface) return CONTAINING_RECORD(iface, HTMLStyleSheet, dispex); }
+static void *HTMLStyleSheet_query_interface(DispatchEx *dispex, REFIID riid) +{ + HTMLStyleSheet *This = HTMLStyleSheet_from_DispatchEx(dispex); + + if(IsEqualGUID(&IID_IHTMLStyleSheet, riid)) + return &This->IHTMLStyleSheet_iface; + if(IsEqualGUID(&IID_IHTMLStyleSheet4, riid)) + return &This->IHTMLStyleSheet4_iface; + + return NULL; +} + static void HTMLStyleSheet_traverse(DispatchEx *dispex, nsCycleCollectionTraversalCallback *cb) { HTMLStyleSheet *This = HTMLStyleSheet_from_DispatchEx(dispex); @@ -1526,6 +1524,7 @@ static void HTMLStyleSheet_init_dispex_info(dispex_data_t *info, compat_mode_t m }
static const dispex_static_data_vtbl_t HTMLStyleSheet_dispex_vtbl = { + .query_interface = HTMLStyleSheet_query_interface, .destructor = HTMLStyleSheet_destructor, .traverse = HTMLStyleSheet_traverse, .unlink = HTMLStyleSheet_unlink
From: Gabriel Ivăncescu gabrielopcode@gmail.com
Signed-off-by: Gabriel Ivăncescu gabrielopcode@gmail.com --- dlls/mshtml/htmlnode.c | 29 +++++++++++++++-------------- 1 file changed, 15 insertions(+), 14 deletions(-)
diff --git a/dlls/mshtml/htmlnode.c b/dlls/mshtml/htmlnode.c index f0dc460d596..a4f1046cc2b 100644 --- a/dlls/mshtml/htmlnode.c +++ b/dlls/mshtml/htmlnode.c @@ -200,22 +200,12 @@ static HRESULT WINAPI HTMLDOMChildrenCollection_QueryInterface(IHTMLDOMChildrenC { HTMLDOMChildrenCollection *This = impl_from_IHTMLDOMChildrenCollection(iface);
- TRACE("(%p)->(%s %p)\n", This, debugstr_mshtml_guid(riid), ppv); - - if(IsEqualGUID(&IID_IUnknown, riid)) { - *ppv = &This->IHTMLDOMChildrenCollection_iface; - }else if(IsEqualGUID(&IID_IHTMLDOMChildrenCollection, riid)) { - *ppv = &This->IHTMLDOMChildrenCollection_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("(%p)->(%s %p)\n", This, debugstr_mshtml_guid(riid), ppv); - 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 HTMLDOMChildrenCollection_AddRef(IHTMLDOMChildrenCollection *iface) @@ -355,6 +345,16 @@ static inline HTMLDOMChildrenCollection *impl_from_DispatchEx(DispatchEx *iface) return CONTAINING_RECORD(iface, HTMLDOMChildrenCollection, dispex); }
+static void *HTMLDOMChildrenCollection_query_interface(DispatchEx *dispex, REFIID riid) +{ + HTMLDOMChildrenCollection *This = impl_from_DispatchEx(dispex); + + if(IsEqualGUID(&IID_IHTMLDOMChildrenCollection, riid)) + return &This->IHTMLDOMChildrenCollection_iface; + + return NULL; +} + static void HTMLDOMChildrenCollection_traverse(DispatchEx *dispex, nsCycleCollectionTraversalCallback *cb) { HTMLDOMChildrenCollection *This = impl_from_DispatchEx(dispex); @@ -443,6 +443,7 @@ static HRESULT HTMLDOMChildrenCollection_invoke(DispatchEx *dispex, DISPID id, L }
static const dispex_static_data_vtbl_t HTMLDOMChildrenCollection_dispex_vtbl = { + .query_interface = HTMLDOMChildrenCollection_query_interface, .destructor = HTMLDOMChildrenCollection_destructor, .traverse = HTMLDOMChildrenCollection_traverse, .unlink = HTMLDOMChildrenCollection_unlink,
From: Gabriel Ivăncescu gabrielopcode@gmail.com
Signed-off-by: Gabriel Ivăncescu gabrielopcode@gmail.com --- dlls/mshtml/htmlelemcol.c | 29 +++++++++++++++-------------- 1 file changed, 15 insertions(+), 14 deletions(-)
diff --git a/dlls/mshtml/htmlelemcol.c b/dlls/mshtml/htmlelemcol.c index 51c498cb9e9..6a6d549799e 100644 --- a/dlls/mshtml/htmlelemcol.c +++ b/dlls/mshtml/htmlelemcol.c @@ -215,22 +215,12 @@ static HRESULT WINAPI HTMLElementCollection_QueryInterface(IHTMLElementCollectio { HTMLElementCollection *This = impl_from_IHTMLElementCollection(iface);
- TRACE("(%p)->(%s %p)\n", This, debugstr_mshtml_guid(riid), ppv); - - if(IsEqualGUID(&IID_IUnknown, riid)) { - *ppv = &This->IHTMLElementCollection_iface; - }else if(IsEqualGUID(&IID_IHTMLElementCollection, riid)) { - *ppv = &This->IHTMLElementCollection_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; - FIXME("Unsupported iface %s\n", debugstr_mshtml_guid(riid)); - return E_NOINTERFACE; - }
- IHTMLElementCollection_AddRef(&This->IHTMLElementCollection_iface); - return S_OK; + *ppv = NULL; + WARN("(%p)->(%s %p)\n", This, debugstr_mshtml_guid(riid), ppv); + return E_NOINTERFACE; }
static ULONG WINAPI HTMLElementCollection_AddRef(IHTMLElementCollection *iface) @@ -537,6 +527,16 @@ static inline HTMLElementCollection *impl_from_DispatchEx(DispatchEx *iface) return CONTAINING_RECORD(iface, HTMLElementCollection, dispex); }
+static void *HTMLElementCollection_query_interface(DispatchEx *dispex, REFIID riid) +{ + HTMLElementCollection *This = impl_from_DispatchEx(dispex); + + if(IsEqualGUID(&IID_IHTMLElementCollection, riid)) + return &This->IHTMLElementCollection_iface; + + return NULL; +} + static void HTMLElementCollection_traverse(DispatchEx *dispex, nsCycleCollectionTraversalCallback *cb) { HTMLElementCollection *This = impl_from_DispatchEx(dispex); @@ -637,6 +637,7 @@ static HRESULT HTMLElementCollection_invoke(DispatchEx *dispex, DISPID id, LCID }
static const dispex_static_data_vtbl_t HTMLElementColection_dispex_vtbl = { + .query_interface = HTMLElementCollection_query_interface, .destructor = HTMLElementCollection_destructor, .traverse = HTMLElementCollection_traverse, .unlink = HTMLElementCollection_unlink,
From: Gabriel Ivăncescu gabrielopcode@gmail.com
Signed-off-by: Gabriel Ivăncescu gabrielopcode@gmail.com --- dlls/mshtml/htmlelem.c | 29 +++++++++++++++-------------- 1 file changed, 15 insertions(+), 14 deletions(-)
diff --git a/dlls/mshtml/htmlelem.c b/dlls/mshtml/htmlelem.c index ad71d128266..694469c3688 100644 --- a/dlls/mshtml/htmlelem.c +++ b/dlls/mshtml/htmlelem.c @@ -1047,22 +1047,12 @@ static HRESULT WINAPI HTMLRectCollection_QueryInterface(IHTMLRectCollection *ifa { HTMLRectCollection *This = impl_from_IHTMLRectCollection(iface);
- TRACE("(%p)->(%s %p)\n", This, debugstr_mshtml_guid(riid), ppv); - - if(IsEqualGUID(&IID_IUnknown, riid)) { - *ppv = &This->IHTMLRectCollection_iface; - }else if(IsEqualGUID(&IID_IHTMLRectCollection, riid)) { - *ppv = &This->IHTMLRectCollection_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 { - FIXME("(%p)->(%s %p)\n", This, debugstr_mshtml_guid(riid), ppv); - *ppv = NULL; - 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 HTMLRectCollection_AddRef(IHTMLRectCollection *iface) @@ -1203,6 +1193,16 @@ static inline HTMLRectCollection *HTMLRectCollection_from_DispatchEx(DispatchEx return CONTAINING_RECORD(iface, HTMLRectCollection, dispex); }
+static void *HTMLRectCollection_query_interface(DispatchEx *dispex, REFIID riid) +{ + HTMLRectCollection *This = HTMLRectCollection_from_DispatchEx(dispex); + + if(IsEqualGUID(&IID_IHTMLRectCollection, riid)) + return &This->IHTMLRectCollection_iface; + + return NULL; +} + static void HTMLRectCollection_traverse(DispatchEx *dispex, nsCycleCollectionTraversalCallback *cb) { HTMLRectCollection *This = HTMLRectCollection_from_DispatchEx(dispex); @@ -1297,6 +1297,7 @@ static HRESULT HTMLRectCollection_invoke(DispatchEx *dispex, DISPID id, LCID lci }
static const dispex_static_data_vtbl_t HTMLRectCollection_dispex_vtbl = { + .query_interface = HTMLRectCollection_query_interface, .destructor = HTMLRectCollection_destructor, .traverse = HTMLRectCollection_traverse, .unlink = HTMLRectCollection_unlink,
From: Gabriel Ivăncescu gabrielopcode@gmail.com
Signed-off-by: Gabriel Ivăncescu gabrielopcode@gmail.com --- dlls/mshtml/htmlelem.c | 30 +++++++++++++++--------------- 1 file changed, 15 insertions(+), 15 deletions(-)
diff --git a/dlls/mshtml/htmlelem.c b/dlls/mshtml/htmlelem.c index 694469c3688..e9badecfa65 100644 --- a/dlls/mshtml/htmlelem.c +++ b/dlls/mshtml/htmlelem.c @@ -8093,23 +8093,12 @@ static HRESULT WINAPI HTMLFiltersCollection_QueryInterface(IHTMLFiltersCollectio { HTMLFiltersCollection *This = impl_from_IHTMLFiltersCollection(iface);
- TRACE("%p %s %p\n", This, debugstr_mshtml_guid(riid), ppv ); - - if(IsEqualGUID(&IID_IUnknown, riid)) { - *ppv = &This->IHTMLFiltersCollection_iface; - }else if(IsEqualGUID(&IID_IHTMLFiltersCollection, riid)) { - TRACE("(%p)->(IID_IHTMLFiltersCollection %p)\n", This, ppv); - *ppv = &This->IHTMLFiltersCollection_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; - FIXME("(%p)->(%s %p)\n", This, debugstr_mshtml_guid(riid), ppv); - 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 HTMLFiltersCollection_AddRef(IHTMLFiltersCollection *iface) @@ -8208,6 +8197,16 @@ static inline HTMLFiltersCollection *HTMLFiltersCollection_from_DispatchEx(Dispa return CONTAINING_RECORD(iface, HTMLFiltersCollection, dispex); }
+static void *HTMLFiltersCollection_query_interface(DispatchEx *dispex, REFIID riid) +{ + HTMLFiltersCollection *This = HTMLFiltersCollection_from_DispatchEx(dispex); + + if(IsEqualGUID(&IID_IHTMLFiltersCollection, riid)) + return &This->IHTMLFiltersCollection_iface; + + return NULL; +} + static void HTMLFiltersCollection_destructor(DispatchEx *dispex) { HTMLFiltersCollection *This = HTMLFiltersCollection_from_DispatchEx(dispex); @@ -8253,6 +8252,7 @@ static HRESULT HTMLFiltersCollection_invoke(DispatchEx *dispex, DISPID id, LCID }
static const dispex_static_data_vtbl_t HTMLFiltersCollection_dispex_vtbl = { + .query_interface = HTMLFiltersCollection_query_interface, .destructor = HTMLFiltersCollection_destructor, .get_dispid = HTMLFiltersCollection_get_dispid, .get_name = HTMLFiltersCollection_get_name,
From: Gabriel Ivăncescu gabrielopcode@gmail.com
Signed-off-by: Gabriel Ivăncescu gabrielopcode@gmail.com --- dlls/mshtml/htmlelem.c | 37 +++++++++++++++++++------------------ 1 file changed, 19 insertions(+), 18 deletions(-)
diff --git a/dlls/mshtml/htmlelem.c b/dlls/mshtml/htmlelem.c index e9badecfa65..4726d22a98b 100644 --- a/dlls/mshtml/htmlelem.c +++ b/dlls/mshtml/htmlelem.c @@ -8543,26 +8543,12 @@ static HRESULT WINAPI HTMLAttributeCollection_QueryInterface(IHTMLAttributeColle { HTMLAttributeCollection *This = impl_from_IHTMLAttributeCollection(iface);
- TRACE("(%p)->(%s %p)\n", This, debugstr_mshtml_guid(riid), ppv); - - if(IsEqualGUID(&IID_IUnknown, riid)) { - *ppv = &This->IHTMLAttributeCollection_iface; - }else if(IsEqualGUID(&IID_IHTMLAttributeCollection, riid)) { - *ppv = &This->IHTMLAttributeCollection_iface; - }else if(IsEqualGUID(&IID_IHTMLAttributeCollection2, riid)) { - *ppv = &This->IHTMLAttributeCollection2_iface; - }else if(IsEqualGUID(&IID_IHTMLAttributeCollection3, riid)) { - *ppv = &This->IHTMLAttributeCollection3_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("(%p)->(%s %p)\n", This, debugstr_mshtml_guid(riid), ppv); - 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 HTMLAttributeCollection_AddRef(IHTMLAttributeCollection *iface) @@ -8929,6 +8915,20 @@ static inline HTMLAttributeCollection *HTMLAttributeCollection_from_DispatchEx(D return CONTAINING_RECORD(iface, HTMLAttributeCollection, dispex); }
+static void *HTMLAttributeCollection_query_interface(DispatchEx *dispex, REFIID riid) +{ + HTMLAttributeCollection *This = HTMLAttributeCollection_from_DispatchEx(dispex); + + if(IsEqualGUID(&IID_IHTMLAttributeCollection, riid)) + return &This->IHTMLAttributeCollection_iface; + if(IsEqualGUID(&IID_IHTMLAttributeCollection2, riid)) + return &This->IHTMLAttributeCollection2_iface; + if(IsEqualGUID(&IID_IHTMLAttributeCollection3, riid)) + return &This->IHTMLAttributeCollection3_iface; + + return NULL; +} + static void HTMLAttributeCollection_traverse(DispatchEx *dispex, nsCycleCollectionTraversalCallback *cb) { HTMLAttributeCollection *This = HTMLAttributeCollection_from_DispatchEx(dispex); @@ -9022,6 +9022,7 @@ static HRESULT HTMLAttributeCollection_invoke(DispatchEx *dispex, DISPID id, LCI }
static const dispex_static_data_vtbl_t HTMLAttributeCollection_dispex_vtbl = { + .query_interface = HTMLAttributeCollection_query_interface, .destructor = HTMLAttributeCollection_destructor, .traverse = HTMLAttributeCollection_traverse, .unlink = HTMLAttributeCollection_unlink,
From: Gabriel Ivăncescu gabrielopcode@gmail.com
Signed-off-by: Gabriel Ivăncescu gabrielopcode@gmail.com --- 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 e851debd128..84087f9a149 100644 --- a/dlls/mshtml/omnavigator.c +++ b/dlls/mshtml/omnavigator.c @@ -969,22 +969,12 @@ static HRESULT WINAPI HTMLMimeTypesCollection_QueryInterface(IHTMLMimeTypesColle { HTMLMimeTypesCollection *This = impl_from_IHTMLMimeTypesCollection(iface);
- TRACE("(%p)->(%s %p)\n", This, debugstr_mshtml_guid(riid), ppv); - - if(IsEqualGUID(&IID_IUnknown, riid)) { - *ppv = &This->IHTMLMimeTypesCollection_iface; - }else if(IsEqualGUID(&IID_IHTMLMimeTypesCollection, riid)) { - *ppv = &This->IHTMLMimeTypesCollection_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 { - WARN("Unsupported interface %s\n", debugstr_mshtml_guid(riid)); - *ppv = NULL; - 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 HTMLMimeTypesCollection_AddRef(IHTMLMimeTypesCollection *iface) @@ -1064,6 +1054,16 @@ static inline HTMLMimeTypesCollection *HTMLMimeTypesCollection_from_DispatchEx(D return CONTAINING_RECORD(iface, HTMLMimeTypesCollection, dispex); }
+static void *HTMLMimeTypesCollection_query_interface(DispatchEx *dispex, REFIID riid) +{ + HTMLMimeTypesCollection *This = HTMLMimeTypesCollection_from_DispatchEx(dispex); + + if(IsEqualGUID(&IID_IHTMLMimeTypesCollection, riid)) + return &This->IHTMLMimeTypesCollection_iface; + + return NULL; +} + static void HTMLMimeTypesCollection_unlink(DispatchEx *dispex) { HTMLMimeTypesCollection *This = HTMLMimeTypesCollection_from_DispatchEx(dispex); @@ -1080,6 +1080,7 @@ static void HTMLMimeTypesCollection_destructor(DispatchEx *dispex) }
static const dispex_static_data_vtbl_t HTMLMimeTypesCollection_dispex_vtbl = { + .query_interface = HTMLMimeTypesCollection_query_interface, .destructor = HTMLMimeTypesCollection_destructor, .unlink = HTMLMimeTypesCollection_unlink };
From: Gabriel Ivăncescu gabrielopcode@gmail.com
Signed-off-by: Gabriel Ivăncescu gabrielopcode@gmail.com --- 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 84087f9a149..0a5d82e8f7a 100644 --- a/dlls/mshtml/omnavigator.c +++ b/dlls/mshtml/omnavigator.c @@ -2424,22 +2424,12 @@ static HRESULT WINAPI HTMLNamespaceCollection_QueryInterface(IHTMLNamespaceColle { HTMLNamespaceCollection *This = impl_from_IHTMLNamespaceCollection(iface);
- TRACE("(%p)->(%s %p)\n", This, debugstr_mshtml_guid(riid), ppv); - - if(IsEqualGUID(&IID_IUnknown, riid)) { - *ppv = &This->IHTMLNamespaceCollection_iface; - }else if(IsEqualGUID(&IID_IHTMLNamespaceCollection, riid)) { - *ppv = &This->IHTMLNamespaceCollection_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 { - WARN("Unsupported interface %s\n", debugstr_mshtml_guid(riid)); - *ppv = NULL; - 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 HTMLNamespaceCollection_AddRef(IHTMLNamespaceCollection *iface) @@ -2538,6 +2528,16 @@ static inline HTMLNamespaceCollection *HTMLNamespaceCollection_from_DispatchEx(D return CONTAINING_RECORD(iface, HTMLNamespaceCollection, dispex); }
+static void *HTMLNamespaceCollection_query_interface(DispatchEx *dispex, REFIID riid) +{ + HTMLNamespaceCollection *This = HTMLNamespaceCollection_from_DispatchEx(dispex); + + if(IsEqualGUID(&IID_IHTMLNamespaceCollection, riid)) + return &This->IHTMLNamespaceCollection_iface; + + return NULL; +} + static void HTMLNamespaceCollection_destructor(DispatchEx *dispex) { HTMLNamespaceCollection *This = HTMLNamespaceCollection_from_DispatchEx(dispex); @@ -2545,6 +2545,7 @@ static void HTMLNamespaceCollection_destructor(DispatchEx *dispex) }
static const dispex_static_data_vtbl_t HTMLNamespaceCollection_dispex_vtbl = { + .query_interface = HTMLNamespaceCollection_query_interface, .destructor = HTMLNamespaceCollection_destructor, };
From: Gabriel Ivăncescu gabrielopcode@gmail.com
Signed-off-by: Gabriel Ivăncescu gabrielopcode@gmail.com --- 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 };
This merge request was approved by Jacek Caban.