These look like 2 separate COM objects to me. They have different IUnknown pointers and a different set of implemented interfaces. Is there a reason to link them?
On Thu, Sep 8, 2016 at 2:25 PM, Michael Stefaniuc mstefani@redhat.de wrote:
Signed-off-by: Michael Stefaniuc mstefani@redhat.de
dlls/mscoree/config.c | 29 +++++++++-------------------- 1 file changed, 9 insertions(+), 20 deletions(-)
diff --git a/dlls/mscoree/config.c b/dlls/mscoree/config.c index b8bf882..a52a521 100644 --- a/dlls/mscoree/config.c +++ b/dlls/mscoree/config.c @@ -73,18 +73,19 @@ static inline ConfigFileHandler *impl_from_ISAXErrorHandler(ISAXErrorHandler *if static HRESULT WINAPI ConfigFileHandler_QueryInterface(ISAXContentHandler *iface, REFIID riid, void **ppvObject) {
- if (IsEqualGUID(riid, &IID_ISAXContentHandler) ||
IsEqualGUID(riid, &IID_IUnknown))
- {
*ppvObject = iface;
- }
- ConfigFileHandler *This = impl_from_ISAXContentHandler(iface);
- if (IsEqualGUID(riid, &IID_ISAXContentHandler) || IsEqualGUID(riid, &IID_IUnknown))
*ppvObject = &This->ISAXContentHandler_iface;
- else if (IsEqualGUID(riid, &IID_ISAXErrorHandler))
else { WARN("Unsupported interface %s\n", debugstr_guid(riid)); return E_NOINTERFACE; }*ppvObject = &This->ISAXErrorHandler_iface;
- ISAXContentHandler_AddRef(iface);
IUnknown_AddRef((IUnknown*)*ppvObject);
return S_OK;
} @@ -377,20 +378,8 @@ static const struct ISAXContentHandlerVtbl ConfigFileHandlerVtbl = static HRESULT WINAPI ConfigFileHandler_Error_QueryInterface(ISAXErrorHandler *iface, REFIID riid, void **ppvObject) {
- if (IsEqualGUID(riid, &IID_ISAXErrorHandler) ||
IsEqualGUID(riid, &IID_IUnknown))
- {
*ppvObject = iface;
- }
- else
- {
WARN("Unsupported interface %s\n", debugstr_guid(riid));
return E_NOINTERFACE;
- }
- ISAXErrorHandler_AddRef(iface);
- return S_OK;
- ConfigFileHandler *This = impl_from_ISAXErrorHandler(iface);
- return ISAXContentHandler_QueryInterface(&This->ISAXContentHandler_iface, riid, ppvObject);
}
static ULONG WINAPI ConfigFileHandler_Error_AddRef(ISAXErrorHandler *iface)
2.7.4