oleaut32: Don't try to release NULL COM objects in the typelib
marshaler.
This commit is contained in:
parent
792d89f53a
commit
9030ff2c13
|
@ -676,14 +676,14 @@ serialize_param(
|
||||||
if (debugout) TRACE_(olerelay)("unk(0x%lx)",*arg);
|
if (debugout) TRACE_(olerelay)("unk(0x%lx)",*arg);
|
||||||
if (writeit)
|
if (writeit)
|
||||||
hres = _marshal_interface(buf,&IID_IUnknown,(LPUNKNOWN)*arg);
|
hres = _marshal_interface(buf,&IID_IUnknown,(LPUNKNOWN)*arg);
|
||||||
if (dealloc)
|
if (dealloc && *(IUnknown **)arg)
|
||||||
IUnknown_Release((LPUNKNOWN)*arg);
|
IUnknown_Release((LPUNKNOWN)*arg);
|
||||||
return hres;
|
return hres;
|
||||||
case VT_DISPATCH:
|
case VT_DISPATCH:
|
||||||
if (debugout) TRACE_(olerelay)("idisp(0x%lx)",*arg);
|
if (debugout) TRACE_(olerelay)("idisp(0x%lx)",*arg);
|
||||||
if (writeit)
|
if (writeit)
|
||||||
hres = _marshal_interface(buf,&IID_IDispatch,(LPUNKNOWN)*arg);
|
hres = _marshal_interface(buf,&IID_IDispatch,(LPUNKNOWN)*arg);
|
||||||
if (dealloc)
|
if (dealloc && *(IUnknown **)arg)
|
||||||
IUnknown_Release((LPUNKNOWN)*arg);
|
IUnknown_Release((LPUNKNOWN)*arg);
|
||||||
return hres;
|
return hres;
|
||||||
case VT_VOID:
|
case VT_VOID:
|
||||||
|
|
Loading…
Reference in New Issue