diff --git a/tools/widl/header.c b/tools/widl/header.c index 5ab8a3cc26f..e1dcab9b75b 100644 --- a/tools/widl/header.c +++ b/tools/widl/header.c @@ -1482,6 +1482,8 @@ static void write_forward(FILE *header, type_t *iface) fprintf(header, "#define __%s_FWD_DEFINED__\n", iface->c_name); fprintf(header, "typedef interface %s %s;\n", iface->c_name, iface->c_name); fprintf(header, "#ifdef __cplusplus\n"); + if (iface->namespace && !is_global_namespace(iface->namespace)) + fprintf(header, "#define %s %s\n", iface->c_name, iface->qualified_name); write_namespace_start(header, iface->namespace); if (strchr(iface->name, '<')) write_line(header, 0, "template<> struct %s;", iface->name); else write_line(header, 0, "interface %s;", iface->name);