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).
--
v3: 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
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).
--
v2: mshtml: Don't send the notification from SuperNavigate if we're in nested
mshtml: Don't process tasks recursively from handle_load.
mshtml: Don't process tasks recursively from run_end_load.
mshtml: Don't process tasks recursively.
mshtml: Remember if timer was blocked.
https://gitlab.winehq.org/wine/wine/-/merge_requests/6375
This is part XXIV of cmd engine rewrite.
This MR mainly tackles discrimination between builtin
commands and external commands.
For example:
- 'echo foo' will always execute internal command 'ECHO',
whereas 'echo.bat foo' will search of a runnable echo.bat
in the %PATH%, and if no file is found run internal command
'ECHO' with '.bat foo' as parameters.
- not to mention that 'CALL foo' and 'foo' have slightly
different semantics wrt. searching.
This MR:
- adds a couple of more tests
- cleans up the code:
+ introduce a couple of helpers to reduce function size
+ factorize in helpers common code,
+ let entry point functions for regular vs CALL case implement
their own logic on top of common code,
- added optimisation in search for external commands
--
https://gitlab.winehq.org/wine/wine/-/merge_requests/6475
I don't think it's useful anymore. Since fba938fa965a6ffd39d1a5e229c7f75b093a1a59 we don't try to move the embedded windows anymore, so they are always positioned where the host wants them to be. Then winex11 only has to deal with toplevel windows everywhere, and it makes the code simpler.
--
https://gitlab.winehq.org/wine/wine/-/merge_requests/6473
This is the first pass in simplifying the Lobby interfaces together. The only real difference is some functions return Unicode vs Ascii data via a void pointer parameter. The next step will be merge these together.
--
https://gitlab.winehq.org/wine/wine/-/merge_requests/6474
I'm not sure this is 100% safe (maybe limiting those blits to sysmem textures
would be better like stated in the original change?)
--
v5: wined3d: Don't reject blits coming from older CS thread.
https://gitlab.winehq.org/wine/wine/-/merge_requests/6300
--
v3: wined3d: Do not require EXT_vertex_attribute_divisor.
wined3d: Don't use structures from unsupported extensions in get_physical_device_info().
wined3d: Add an append_structure() helper for get_physical_device_info().
https://gitlab.winehq.org/wine/wine/-/merge_requests/6379