Gabriel Ivăncescu (@insn) commented about dlls/mshtml/mutation.c:
- return CONTAINING_RECORD(iface, struct mutation_observer, IWineMSHTMLMutationObserver_iface);
+}
+static HRESULT WINAPI MutationObserver_QueryInterface(IWineMSHTMLMutationObserver *iface, REFIID riid, void **ppv) +{
- struct mutation_observer *This = impl_from_IWineMSHTMLMutationObserver(iface);
- TRACE("(%p)->(%s %p)\n", This, debugstr_mshtml_guid(riid), ppv);
- if(IsEqualGUID(&IID_IUnknown, riid) || IsEqualGUID(&IID_IWineMSHTMLMutationObserver, riid)) {
*ppv = &This->IWineMSHTMLMutationObserver_iface;
- }else {
WARN("(%p)->(%s %p)\n", This, debugstr_mshtml_guid(riid), ppv);
*ppv = NULL;
return E_NOINTERFACE;
- }
Sorry, I missed this yesterday as I was tired, and since it's a stub it didn't seem to matter, but you forgot to query the dispex:
```c }else if(dispex_query_interface(&This->dispex, riid, ppv)) { return *ppv ? S_OK : E_NOINTERFACE; ```
Some nitpicks while you're at it: * Make `mutation_observer_ctor_value` static. * Put the opening bracket on a new line in `create_mutation_observer` and `create_mutation_observer_ctor` please.