Import Wine commits by Nikolay Sivov:
* d1e618d31da usp10: Use glyph index consistently in ScriptGetGlyphABCWidth().
* 8d018d8d1da usp10: Make sure metrics cache is used with glyph indices only.
* eda3a3e37da usp10: Remove extra parentheses.
Fixes font display in UltraISO and GOG installers.
See also https://bugs.winehq.org/show_bug.cgi?id=44410
This incorrect behavior was leading to a call at too high IRQL for paged code.
This was triggered by MS FastFAT.
ReleaseFromLazyWrite call was already correctly called to that regard.
CORE-11819
Adds the 'Red, White, and Blue' Color Scheme used by the Classic Theme and adds localization for all the color schemes into themeui.dll.
Translators, please check the language files for potential copypasta errors.
* [BROWSEUI] Update Traditional Chinese translation.
* [BROWSEUI] Update Simplified Chinese translation.
* [SHELL32] Update Traditional Chinese translation.
* [REGEDIT] Update Traditional Chinese translation.
* [BROWSEUI] Update Traditional Chinese translation.
- The converter is code7bit I made. code7bit: https://github.com/katahiromz/code7bit
- This converter converts non-clean characters in string literals.
- However I couldn't erase a ton of codepage C4819 warnings.
- CORE-15447
You can edit an European source file as follows:
- Right click the file in the Solution Explorer.
- Select "Open With...".
- Choose "C++ Source Code Editor (with encoding)".
- Choose "Central European (Windows) - Codepage 1260".
Also, probe the service name when unloading a driver if called from
user-mode. This will avoid that userland applications can trigger an
invalid read in the kernel (and thus, a BSOD).
CORE-15468
- Require the user to have TCB privilege for using this function.
- Probe and capture the user-provided string (and avoid usermode-triggered BSODS ;-)
- Allocate the OEM-converted string in *NonPagedPool* because we are
going to transmit the buffer to BOOTVID.
- Add UserCreateSystemThread function that will signal csrss to create a new system thread.
- NtUserCreateWindowStation: Create the raw input thread and the desktop thread when the IO window station gets created.
- IntMakeHungWindowGhosted: Create the ghost system thread that will own all ghost windows.
- Let the raw input thread manage the window station of csrss.
[USERSRV] Remove system threads creating hack
- Implement SrvCreateSystemThreads
- Don't create the system threads in UserServerDllInitialization.
- NtUserSetInformationThread: Stub UserThreadUseActiveDesktop and UserThreadRestoreDesktop
- Properly mark the first thread that enters win32k belonging to csrss. At this point we assume that since gpepCSRSS isn't initialized yet, it probably is the first thread.
[WINSRV] Use NtUserSetInformationThread to set the current desktop when needed
-When csrss needs to use user32 or enter win32k, it first needs to assign the current thread to a desktop.
* [SYSSETUP] Update Simplified Chinese translation.
* [SYSSETUP] Update Traditional Chinese translation.
* [SHELL32] Update Traditional Chinese translation.
* [VCDCONTROLTOOL] Update Simplified Chinese translation.
* [VCDCONTROLTOOL] Update Traditional Chinese translation.
Fixes MSVC warnings:
sdk\include\crt\xmmintrin.h(33): warning C4162: '_mm_getcsr': no function with C linkage found
sdk\include\crt\xmmintrin.h(35): warning C4162: '_mm_setcsr': no function with C linkage found