- Make it present some frames
- Make it check that the frames are from the new device, instead of checking TerminateDevice count; fixes https://bugs.winehq.org/show_bug.cgi?id=55649
- ~~Make it check for and avoid some absurd crash on Windows~~
~~I tried everything I could think of, but Windows absolutely refuses to present a frame after changing the D3D device, instead choosing to return various absurd errors (segfaults, deadlocks, out of memory, etc). I suspect the VMR9 is haunted.~~
edit: Works on Windows now
--
v10: quartz/tests: Improve VMR9 ChangeD3DDevice test.
https://gitlab.winehq.org/wine/wine/-/merge_requests/3970
Add stubs for CrtImplementationDetails::Thow*ModuleLoadException functions
This will help some applications not crashing.
Wine-Bug: https://bugs.winehq.org/show_bug.cgi?id=34537
Next part will be moving this code to msvcp and to make sure Cin, other related classes are implemented for msvcmxx.dlls
--
v6: msvcm80: Add stub for ThrowNestedLoadModuleException function.
msvcm80: Add stub for ThrowModuleLoadException(String, Exception) function.
msvcm80: Add stub for ThrowModuleLoadException(String) function.
https://gitlab.winehq.org/wine/wine/-/merge_requests/4596
On Tue Dec 5 19:35:28 2023 +0000, Piotr Caban wrote:
> This generally looks good for me. How about changing
> `CrtImplementationDetails_ThrowModuleLoadException_Inner` function name?
> I'm not familiar with the function so it's hard to suggest a better name
> (maybe `CrtImplementationDetails_ThrowModuleLoadException_inner` or
> `CrtImplementationDetails_ThrowModuleLoadException_exc`). In other
> functions we're using lowercase suffix if needed.
> This MR is marked as draft. Please mark it as ready when appropriate.
I will rename to CrtImplementationDetails_ThrowModuleLoadException_inner and What I found that from extensive searching on google and the error messages is that the it trys to rethrow the inner exception as ModuleLoadException.
eg:
https://forum.unity.com/threads/c-wrapper-for-unity.265398/
--
https://gitlab.winehq.org/wine/wine/-/merge_requests/4596#note_55104
This generally looks good for me. How about changing `CrtImplementationDetails_ThrowModuleLoadException_Inner` function name? I'm not familiar with the function so it's hard to suggest a better name (maybe `CrtImplementationDetails_ThrowModuleLoadException_inner` or `CrtImplementationDetails_ThrowModuleLoadException_exc`). In other functions we're using lowercase suffix if needed.
This MR is marked as draft. Please mark it as ready when appropriate.
--
https://gitlab.winehq.org/wine/wine/-/merge_requests/4596#note_55103
This MR implements mouselook, which requires support for ClipCursor and relative motion events. The latter we can implement directly without using `SetCursorPos` for which no Wayland protocol exists at the moment.
1. Implement setting the foreground window, as this is required for clipping to work properly (i.e., for the ClipCursor driver callback to be called in the proper process/thread, see commit (2)). We can't unconditionally set the foreground window on keyboard focus, since compositors are eager to give the focus and some windows strongly dislike that (see https://gitlab.winehq.org/wine/wine/-/merge_requests/4102#note_51733). This MR borrows the "managed" window concept from WineX11 to detect windows that we shouldn't allow the compositor to manage, and avoids setting such windows as the foreground on keyboard focus.
2. Implement cursor clipping using the pointer-constraints protocol.
3. Switch to emitting relative motion events using the relative-pointer protocol when the cursor is not visible.
---
4. Finally, a potential fix for an issue I have been seeing where apps may transiently lose the active status (see commit message for more) as a result of the foreground state changes in this MR, which has undesirable side-effects. I have included this here for MR completeness/correctness, but it can be moved to a subsequent MR if preferred.
Note: the velocity of relative motion events when scaling is involved is somewhat inconsistent among Wayland compositors.
Thanks!
--
https://gitlab.winehq.org/wine/wine/-/merge_requests/4593