You've already forked wine-staging
mirror of
https://gitlab.winehq.org/wine/wine-staging.git
synced 2025-09-12 18:50:20 -07:00
Rebase against 2201ca08fb03d069fa2ccf46773c150a6f7988bc.
This commit is contained in:
@@ -1,35 +0,0 @@
|
||||
From 41ffc864a47b18e138fe92e6f5be78d9cc1e7936 Mon Sep 17 00:00:00 2001
|
||||
From: =?UTF-8?q?R=C3=A9mi=20Bernon?= <rbernon@codeweavers.com>
|
||||
Date: Tue, 19 Jan 2021 13:51:25 +0100
|
||||
Subject: [PATCH] widl: Generate WinRT runtimeclass name constants.
|
||||
|
||||
---
|
||||
tools/widl/header.c | 5 +++++
|
||||
1 file changed, 5 insertions(+)
|
||||
|
||||
diff --git a/tools/widl/header.c b/tools/widl/header.c
|
||||
index ad205df0d05..153437971cc 100644
|
||||
--- a/tools/widl/header.c
|
||||
+++ b/tools/widl/header.c
|
||||
@@ -1698,6 +1698,7 @@ static void write_runtimeclass(FILE *header, type_t *runtimeclass)
|
||||
{
|
||||
expr_t *contract = get_attrp(runtimeclass->attrs, ATTR_CONTRACT);
|
||||
char *name, *c_name;
|
||||
+ size_t i, len;
|
||||
name = format_namespace(runtimeclass->namespace, "", ".", runtimeclass->name, NULL);
|
||||
c_name = format_namespace(runtimeclass->namespace, "", "_", runtimeclass->name, NULL);
|
||||
fprintf(header, "/*\n");
|
||||
@@ -1706,6 +1707,10 @@ static void write_runtimeclass(FILE *header, type_t *runtimeclass)
|
||||
if (contract) write_apicontract_guard_start(header, contract);
|
||||
fprintf(header, "#ifndef RUNTIMECLASS_%s_DEFINED\n", c_name);
|
||||
fprintf(header, "#define RUNTIMECLASS_%s_DEFINED\n", c_name);
|
||||
+ /* FIXME: MIDL generates extern const here but GCC warns if extern is initialized */
|
||||
+ fprintf(header, "/*extern*/ const DECLSPEC_SELECTANY WCHAR RuntimeClass_%s[] = {", c_name);
|
||||
+ for (i = 0, len = strlen(name); i < len; ++i) fprintf(header, "'%c',", name[i]);
|
||||
+ fprintf(header, "0};\n");
|
||||
fprintf(header, "#endif /* RUNTIMECLASS_%s_DEFINED */\n", c_name);
|
||||
free(c_name);
|
||||
free(name);
|
||||
--
|
||||
2.29.2
|
||||
|
||||
Reference in New Issue
Block a user