Fix the type of the This pointer in the vtbl functions inherited from

the base class.
This commit is contained in:
Alexandre Julliard 2002-12-17 21:05:16 +00:00
parent 3121fdac41
commit ea118ecb50
2 changed files with 7 additions and 7 deletions

View File

@ -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)(

View File

@ -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");