Gabriel Ivăncescu (@insn) commented about dlls/mshtml/mutation.c:
- obj = calloc(1, sizeof(*obj));
- if(!obj)
- {
ERR("No memory.\n");
return;
- }
- obj->IWineMSHTMLMutationObserver_iface.lpVtbl = &WineMSHTMLMutationObserverVtbl;
- obj->ref = 1;
- init_dispatch(&obj->dispex, (IUnknown*)&obj->IWineMSHTMLMutationObserver_iface.lpVtbl,
&console_dispex, compat_mode);
- IDispatch_AddRef(callback);
- obj->callback = callback;
- *ret = &obj->IWineMSHTMLMutationObserver_iface;
+}
Again this should probably return HRESULT and you handle it on caller (E_OUTOFMEMORY likely), and no need for "callback" because that's for the construction of the instance, here you just want to give it the constructor.