Fix the type of the This pointer in the vtbl functions inherited from
the base class.
This commit is contained in:
parent
3121fdac41
commit
ea118ecb50
|
@ -136,15 +136,15 @@ struct IClassFactoryVtbl {
|
||||||
|
|
||||||
/*** IUnknown methods ***/
|
/*** IUnknown methods ***/
|
||||||
HRESULT (CALLBACK *QueryInterface)(
|
HRESULT (CALLBACK *QueryInterface)(
|
||||||
IUnknown* This,
|
IClassFactory* This,
|
||||||
REFIID riid,
|
REFIID riid,
|
||||||
void** ppvObject);
|
void** ppvObject);
|
||||||
|
|
||||||
ULONG (CALLBACK *AddRef)(
|
ULONG (CALLBACK *AddRef)(
|
||||||
IUnknown* This);
|
IClassFactory* This);
|
||||||
|
|
||||||
ULONG (CALLBACK *Release)(
|
ULONG (CALLBACK *Release)(
|
||||||
IUnknown* This);
|
IClassFactory* This);
|
||||||
|
|
||||||
/*** IClassFactory methods ***/
|
/*** IClassFactory methods ***/
|
||||||
HRESULT (CALLBACK *CreateInstance)(
|
HRESULT (CALLBACK *CreateInstance)(
|
||||||
|
|
|
@ -556,12 +556,12 @@ static void write_cpp_method_def(type_t *iface)
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
static void write_c_method_def(type_t *iface)
|
static void write_c_method_def(type_t *iface,char *name)
|
||||||
{
|
{
|
||||||
func_t *cur = iface->funcs;
|
func_t *cur = iface->funcs;
|
||||||
while (NEXT_LINK(cur)) cur = NEXT_LINK(cur);
|
while (NEXT_LINK(cur)) cur = NEXT_LINK(cur);
|
||||||
|
|
||||||
if (iface->ref) write_c_method_def(iface->ref);
|
if (iface->ref) write_c_method_def(iface->ref,name);
|
||||||
indent(0);
|
indent(0);
|
||||||
fprintf(header, "/*** %s methods ***/\n", iface->name);
|
fprintf(header, "/*** %s methods ***/\n", iface->name);
|
||||||
while (cur) {
|
while (cur) {
|
||||||
|
@ -572,7 +572,7 @@ static void write_c_method_def(type_t *iface)
|
||||||
fprintf(header, " (CALLBACK *");
|
fprintf(header, " (CALLBACK *");
|
||||||
write_name(header, def);
|
write_name(header, def);
|
||||||
fprintf(header, ")(\n");
|
fprintf(header, ")(\n");
|
||||||
write_args(header, cur->args, iface->name, 1);
|
write_args(header, cur->args, name, 1);
|
||||||
fprintf(header, ");\n");
|
fprintf(header, ");\n");
|
||||||
fprintf(header, "\n");
|
fprintf(header, "\n");
|
||||||
}
|
}
|
||||||
|
@ -724,7 +724,7 @@ void write_com_interface(type_t *iface)
|
||||||
indentation++;
|
indentation++;
|
||||||
fprintf(header, " ICOM_MSVTABLE_COMPAT_FIELDS\n");
|
fprintf(header, " ICOM_MSVTABLE_COMPAT_FIELDS\n");
|
||||||
fprintf(header, "\n");
|
fprintf(header, "\n");
|
||||||
write_c_method_def(iface);
|
write_c_method_def(iface,iface->name);
|
||||||
indentation--;
|
indentation--;
|
||||||
fprintf(header, "};\n");
|
fprintf(header, "};\n");
|
||||||
fprintf(header, "\n");
|
fprintf(header, "\n");
|
||||||
|
|
Loading…
Reference in New Issue