I kept the first patch (`Remember if timer was blocked.`) to avoid SetTimer on timers that weren't killed, mostly because it would apply on every task (which is likely to execute way faster than the ms granularity), not sure if it would skew the timer in such case.
The other patches are split, with tests now showing why they're needed. Some places where wine-gecko callbacks into us and in which we call into external code need to be treated the same as a recursive task since it can end up in a message loop.
I haven't supplied all of them from the previous MR, mostly because I didn't find a way to test those (e.g. show context menu, and the gecko async navigation).
--
v4: mshtml: Don't process tasks recursively from Gecko events.
mshtml: Don't process tasks recursively from script runners.
mshtml: Don't process tasks recursively.
mshtml: Remember if timer was blocked.
mshtml: Don't cast to int to bound the timer.
https://gitlab.winehq.org/wine/wine/-/merge_requests/6375
Imported functions in ARM64EC have two `__imp_` symbols:
- The usual `__imp_` symbol, which is guaranteed to be directly callable from ARM64 code and is used when calling the function (this may be a thunk if the imported function is x86_64).
- The `__imp_aux_` symbol, which is the exact pointer as returned by `GetProcAddress` (it could point to an x86_64 function or the export thunk of an ARM64EC function).
When C code retrieves the address of a function, it uses `__imp_aux_` instead of `__imp_`. This is reflected in `__ASM_DEFINE_IMPORT` by defining `__imp_` to the mangled function name and `__imp_aux_` to the demangled one.
We currently don't depend on it in Wine itself, but it makes the whole thing more correct. Tested by adding `trace("%p\n", exp2);` to msvcrt tests.
--
https://gitlab.winehq.org/wine/wine/-/merge_requests/6487
Use the unicode interface by default and return the same value
as before this change.
There are a few locations, that called W->A. It will return the
same value as before for the Ansi version but the unicode one will
now report an error.
--
https://gitlab.winehq.org/wine/wine/-/merge_requests/6481