Wine-Bug: https://bugs.winehq.org/show_bug.cgi?id=55843
NtUserSetThreadDesktop, called from winstation_init may call into update_display_cache before sysparams_init, when virtual desktop mode is initialized, and so, before config_key is initialized. This end up with a failure to update the display mode cache, error messages a longer start times.
--
https://gitlab.winehq.org/wine/wine/-/merge_requests/4526
This is the third (and last) part of the Wayland driver Vulkan subseries:
1. Implement `vkQueuePresentKHR` and support reporting `VK_ERROR_OUT_OF_DATE_KHR` and `VK_ERROR_SURFACE_LOST_KHR`.
2. Misc. enhancements/fixes to ensure the subsurface containing the vulkan rendering is displayed properly.
3. Implement a couple of remaining Vulkan functions.
With this MR you can start enjoying some of your games with the Wayland driver (either directly with Vulkan or with a D3D->Vulkan translation). Please note, however, that we don't currently support what's needed for mouselook (you will currently get erratic view movement), so most first-person 3D games are not playable yet.
Thanks!
--
https://gitlab.winehq.org/wine/wine/-/merge_requests/4522
The more I look at it the more I'm convinced that the change to keep outer window reference is not worth it. Storage events seem just outright broken on native, so that's not a good reason.
Looking at Gecko, I can see that it does what we currently do and resets outer window pointer from inner window and document when inner window changes. It means that whatever we do on Wine side, everything that depends on Gecko will still not "work".
The change is also quite invasive. It changes a meaning of pointers that are used module-wide, so there is some risk associated with it and the motivation seems questionable to me. Why do you need that in the first place? This is not something you've actually seen mattering for real-world use case, right?
Another thing about it is that it's likely to hide some problems in the future. Resetting outer pointer is nice to have a clear cut when inner window is no longer valid. It's not a strong argument, if we really have a reason to change it, we may, but I'd like to know the reason.
--
https://gitlab.winehq.org/wine/wine/-/merge_requests/4380#note_53941
Jacek Caban (@jacek) commented about dlls/mshtml/tests/events.c:
> + ok(hres == S_OK, "get_documentMode failed: %08lx\n", hres);
> + ok(V_VT(&var) == VT_R4, "V_VT(documentMode) = %u\n", V_VT(&var));
> + document_mode = V_R4(&var);
> + }
> + IHTMLDocument6_Release(doc6);
> + }
> +
> + hres = IHTMLWindow2_QueryInterface(window, &IID_IHTMLWindow6, (void**)&window6);
> + ok(hres == S_OK, "Could not get IHTMLWindow6: %08lx\n", hres);
> + IHTMLWindow2_Release(window);
> + window = NULL;
> +
> + hres = IHTMLWindow6_get_sessionStorage(window6, &tmp_session_storage);
> + ok(hres == S_OK, "get_sessionStorage failed: %08lx\n", hres);
> + ok(tmp_session_storage != NULL, "session_storage == NULL\n");
> + ok(tmp_session_storage != session_storage[0], "session_storage after navigation same as old session_storage\n");
This should really use `!iface_cmp()` to make sure it's not one more instance of wrappers that native uses in similar places. However, trying to do that crashes on native, which is just one more reason to believe that detached documents are broken there and trying too hard to mimic it does not make sense. I think that you're misinterpreting some quirks that are not really interested in the first place. I suggest to drop those tests and just do the right thing: don't send any events on detached document, maybe even fail early on an attempt to use such storage.
--
https://gitlab.winehq.org/wine/wine/-/merge_requests/4380#note_53940
I don't think there's any reason to use the conversion context to allocate this memory, it's briefly used to build the host extension list and released right away.
--
v4: winevulkan: Fix python linter warnings.
winevulkan: Drop the WINEVULKAN_QUIRK_IGNORE_EXPLICIT_LAYERS quirk.
winevulkan: Use a local instance variable instead of phys_dev->instance.
winevulkan: Restore utils messengers when vkCreateInstance needs more physical devices.
winevulkan: Restore debug callbacks when vkCreateInstance needs more physical devices.
https://gitlab.winehq.org/wine/wine/-/merge_requests/4488