Wine-Bug: https://bugs.winehq.org/show_bug.cgi?id=55347
Fixes winrt headers for C++. This partially reverts commit a35ca9236275. I think that part of the change was a hack to work around an issue that was later resolved by 2a7940c97d4e. There was some [justification](https://www.winehq.org/mailman3/hyperkitty/list/wine-devel@winehq.org/messag...) explaining why it's acceptable to break C++ that I don't really understand.
From: Jacek Caban jacek@codeweavers.com
Wine-Bug: https://bugs.winehq.org/show_bug.cgi?id=55347 --- tools/widl/header.c | 10 +++------- 1 file changed, 3 insertions(+), 7 deletions(-)
diff --git a/tools/widl/header.c b/tools/widl/header.c index 413354d5b56..f0fa1b28b73 100644 --- a/tools/widl/header.c +++ b/tools/widl/header.c @@ -296,7 +296,7 @@ void write_type_left(FILE *h, const decl_spec_t *ds, enum name_type name_type, b if ((ds->qualifier & TYPE_QUALIFIER_CONST) && (type_is_alias(t) || !is_ptr(t))) fprintf(h, "const ");
- if (!winrt_mode && type_is_alias(t)) fprintf(h, "%s", t->name); + if (type_is_alias(t)) fprintf(h, "%s", name); else { switch (type_get_type_detect_alias(t)) { case TYPE_ENUM: @@ -450,13 +450,9 @@ void write_type_left(FILE *h, const decl_spec_t *ds, enum name_type name_type, b break; } case TYPE_ALIAS: - { - const decl_spec_t *ds = type_alias_get_aliasee(t); - int in_namespace = ds && ds->type && ds->type->namespace && !is_global_namespace(ds->type->namespace); - if (!in_namespace) fprintf(h, "%s", t->name); - else write_type_left(h, ds, name_type, define, write_callconv); + /* handled elsewhere */ + assert(0); break; - } case TYPE_PARAMETERIZED_TYPE: { type_t *iface = type_parameterized_type_get_real_type(t);
Hi,
It looks like your patch introduced the new failures shown below. Please investigate and fix them before resubmitting your patch. If they are not new, fixing them anyway would help a lot. Otherwise please ask for the known failures list to be updated.
The tests also ran into some preexisting test failures. If you know how to fix them that would be helpful. See the TestBot job for the details:
The full results can be found at: https://testbot.winehq.org/JobDetails.pl?Key=148438
Your paranoid android.
=== debian11b (64 bit WoW report) ===
user32: input.c:4305: Test succeeded inside todo block: button_down_hwnd_todo 1: got MSG_TEST_WIN hwnd 0000000000E300E0, msg WM_LBUTTONDOWN, wparam 0x1, lparam 0x320032
The justification was not really that it's acceptable to break the C++ code, but that compiling WinRT C++ with Wine headers is not going to work well as we don't provide all the necessary WinRT C++ templates (ie: all the IVectorView_impl and similar for other generics).
This merge request was approved by Rémi Bernon.