- Simplify an overcomplicated way to get buffer size from win32k
- Do not spaghettize between string length and buffer size.
- Properly use GetModuleFileName.
svn path=/trunk/; revision=64938
* Introduce a wine folder to group the Wine synced source files.
* Use the crypt folder as a starting point. More will follow.
CORE-8540
svn path=/trunk/; revision=64937
* Merge r64866 from the shell branch which had:
* Fix wrong array length passed to GetClassNameW. CID 716222
* Replace other instances of explicit array length to GetWindowTextW with _countof(x).
Based on a patch by Christoph von Wittich.
svn path=/trunk/; revision=64924
- In an incredibly daring move, enable the long awaited new cursors & icons implementation, featuring:
- Alpha channeled cursors
- Animated cursors (only the first frame is displayed now)
- Less leaks (tm)
- Tests that pass(tm)
- Copying icons and cursors from DLL resources, for beautifuler ReactOS, your turn gigaherz ;-)
- A lot of other things which I am very proud of.
CORE-7575 #resolve
svn path=/trunk/; revision=64921
- Remove the cursor from the process cache when its handle is deleted, not after.
- Do not return an invalid handle in NtUserSetCursor.
CORE-7575
svn path=/trunk/; revision=64912
- Fix LookupIconIdFromDirectoryEx, returning 0 when no matching entry is found.
- Fix error handling when opening a cursor file.
- Various code beautification here and there
CORE-7575
svn path=/trunk/; revision=64911
Fix ARM build, patch by Yuntian Zhang with minor adjustment by me.
CORE-8666 #resolve #comment Committed in r64910, thanks!
svn path=/trunk/; revision=64910
Do not raise an exception in _invalid_parameter, which is only done in later MSVCRTs. Wine uses a symbolic constant (_MSVCR_VER) to handle this and other things and compiles their CRT code multiple times. As an alternative we could use a global version variable to avoid recompiling, once we implement other CRT dlls.
CORE-8670 #resolve
svn path=/trunk/; revision=64909
- check the right buffer's length
[WIN32K]
- simplify IntKeyboardUpdateLeds a bit and mind previous mode
- fixes keyboard indicators
CORE-8547
svn path=/trunk/; revision=64908
Make special pool usable:
- Invalidate PTEs on free to catch use-after-free situations (and not confuse Mm)
- Fix pattern check not to look for more than 8 bits in a byte
- Enable POOL_FLAG_SPECIAL_POOL if special pool has been initialized
- Implement MmExpandSpecialPool
- Issue the correct SPECIAL_POOL_DETECTED_MEMORY_CORRUPTION bugcheck when problems are detected
- Magic values--
To enable special pool for a single tag, set a value for MmSpecialPoolTag in ntoskrnl/mm/ARM3/pool.c.
To enable it for more than one tag, set MmSpecialPoolTag and modify MmUseSpecialPool in ntoskrnl/mm/ARM3/special.c (e.g. to return TRUE independent of Tag).
CORE-8680 #resolve
svn path=/trunk/; revision=64886
- Generate PAGE_FAULT_IN_NONPAGED_AREA bugcheck for PTEs that have their protection set to zero. This gives a more useful error description than the infamous 'TempPte.u.Long != 0' assertion*.
CORE-8679 #resolve
* and is also What Windows Does(TM)
svn path=/trunk/; revision=64885