When dmSize is zero or greter than size of input buffer, `IsValidDevmodeW()`
failed in Windows 10.
But current implementation in wine, it will return `true` because
there is no check to `dm.dmSize`.
--
v12: winspool: Check dmSize in IsValidDevmodeW()
https://gitlab.winehq.org/wine/wine/-/merge_requests/2262
When dmSize is zero or greter than size of input buffer, `IsValidDevmodeW()`
failed in Windows 10.
But current implementation in wine, it will return `true` because
there is no check to `dm.dmSize`.
--
v11: winspool: Check dmSize in IsValidDevmodeWw
https://gitlab.winehq.org/wine/wine/-/merge_requests/2262
Windows 11 uses a narrow non-breaking space instead of a plain one when formatting numbers. This is probably more correct and maybe Wine should switch too. But marking the old result as broken() would require unbundling expect_wstr() which would be bothersome.
So this commit just accepts both.
--
v3: kernel32/tests: Fix the French GetNumberFormatEx() test on Windows 11.
https://gitlab.winehq.org/wine/wine/-/merge_requests/2288
There are some minor style and formatting issues in this series that I'm going to ignore for the moment. The test either doesn't test the changes in patch 2/2, or it fails before that patch.
The larger issue with this series though is that it doesn't seem quite ideal to potentially set and restore the stream source frequency on each DrawPrimitive()/DrawPrimitiveUP() call, because of the resulting state invalidation. It may be time to move the d3d9-style instance count handling out of wined3d and track that entirely in d3d9.
--
https://gitlab.winehq.org/wine/wine/-/merge_requests/2282#note_25548