- Sam Arun Raj Seeniraj: Added new test cases to QueryDosDevice(). Should be sent to Wine (tm).
See issue #993 for more details.
svn path=/trunk/; revision=51394
[KERNEL32]
- DefineDosDeviceW() is implemented and calls into csrss.exe CsrDefineDosDevice().
- Fixed a minor bug in DefineDosDeviceA(), as calling RtlCreateUnicodeStringFromAsciiz() prevented NULL lpTargetPath to be passed down to DefineDosDeviceW().
- Fixed a minor bug in QueryDosDeviceW() that causes lpTargetPath buffer to be returned with NULL string terminator placed at the wrong point in the buffer.
[WIN32CSR.DLL]
- Implemented CsrDefineDosDevice() in win32csr.dll, the symbolic links are created in global name space currently.
[SUBST.EXE]
- Implemented a subst.exe clone.
See issue #993 for more details.
svn path=/trunk/; revision=51393
- Check for the correct, just created, registry key. Fix
a wrong comparison. Patch by Thomas Faber.
See issue #6123 for more details.
svn path=/trunk/; revision=51375
* Generate random computer name (REACTOS-xxxxxxx) in Setup. Patch by David Quintana <gigaherz at gmail dot com> modified by me
See issue #6099 for more details.
svn path=/trunk/; revision=51358
Implement gdi pool. An allocator for user mode gdi object attributes.
The old method allocated a 4k page for every object, wasting 4k physical memory and 64k address space (allcoation granularity)
The new allocator creates a per process pool for each object attribute type. Allocations are done from "sections" that start with 1 page and grow dynamically up to 64k, if neccessary a new section is allocated. This will use about 1/10 of memory for dc attributes and 1/512 for brush attributes. Also allocation is way faster. Caching object attributes is not neccessary anymore.
svn path=/trunk/; revision=51357
* Revert part of 37148. One FontGDI is used for fonts with different sizes. Do not cache font metrics then and instead calculate them every time when needed. It fixes spacing in menus if some application uses default GUI font with size other than 11.
See issue #4106 for more details.
svn path=/trunk/; revision=51356
* Computer name length is limited to 15 characters, not 63. Fixes possible buffer overflow
* Spotted by Victor Martinez
svn path=/trunk/; revision=51349
- Move dereferencing of the MessageQueue from co_UserDestroyWindow to co_UserFreeWindow.
A reference is added to the MessageQueue for all windows created.co_UserFreeWindow is called for all windows and needs to be where the dereferencing of MessageQueue occurs.
This fixes NonPagedPool memory leak. See bug 6112 for more info.
svn path=/trunk/; revision=51345
- KbdDispatch: Set Status vice IoStatus.Status for all branches of switch. Use break instead of goto intcontfailure.
The previous code would set Status to what ever was in the IoStatus.Status of the IRP and return that Status.
Some times this would be STATUS_PENDING, which IIRC is a no-no.
This caused the kbdclass to enter into a wait that would never be satisifed hence blocking the keyboard thread.
This should fix the failure of keyboard input bugs.
svn path=/trunk/; revision=51344
- Reflect the recent user32_apitest changes. Please consider updating the cmake files when you alter the rbuild files in the future.
svn path=/trunk/; revision=51336
- Properly check parameters in RtlFindActivationContextSectionString. Almost the same as Wine did, but factored out into a standalone function, improved undocumented flags checks and allowing null data pointer in certain cases.
svn path=/trunk/; revision=51333
- Use the shell default auto-arrangement positioning. Aloow using custom positioning when configured. This fixes the positioning of icons of the desktop to look like windows
svn path=/trunk/; revision=51330
* DPtoLP/LPtoDP functions should return TRUE even if they get 0 or less points or if pointer to points is invalid. See gdi32:DPtoLP apitest.
* Fixes 24 gdi32:DPtoLP apitests.
svn path=/trunk/; revision=51328
- Implement ExecuteTransfer to replace SubmitTransfer.
- Start implentation for BulkTransfers and needed DMA. This needs much more work to be done correctly. We will get to it.
- Implement URB_FUNCTION_CLASS_INTERFACE.
- Add comments.
Change 3 of 3.
svn path=/trunk/; revision=51327
- For common buffer memory, only allocate one page and allocate more as needed. This implementation will most likely be replaced with janderwalds.
- Use a safecount while attempting to stop and start the controller, so that an error can be displayed vice doing endless loop for controllers that are misbehaving.
- Reorganize a few structuers and remove members of structures that are not used.
- Add comments for some of the DirectCall Interface Functions.
Change 2 of 3.
svn path=/trunk/; revision=51326
- Fix linking of QueueHeads. Implement LinkQueueHeadToCompletedList and CleanupAsyncList. These functions are used to software link the completed queueheads to a completed list. Only after the driver handshakes with the controller can this memory be freed.
Fix a few incorrect values for QueueHead.
- EhciDefferedRoutine: Implement handling of completed QueueHeads by removing them from the AnsycList and setting any errors for failure.
- Reserved a QueueHead that will always be in the AsyncList Address Register. By setting it as the Head of Reclamation the controller can know when it has reached the end of the QueueHead list.
- Remove all code from FdoDispatchInternalDeviceControl. This should never be called by upper level drivers.
Change 1 of 3.
svn path=/trunk/; revision=51325
* Return 1 in WM_ERASEBKGND when desktop is painted
* Fix background for desktop icons and their labels
* Moreover fixes explorer_new background
svn path=/trunk/; revision=51322
* Sync listview to Wine 1.3.17
* Set background and text color before calling DrawFocusRect. Those colors are used by monochrome brush during painting. Tested this function in Windows and our implementation is correct. Wine has DrawFocusRect not correctly implemented and that's why they don't see this bug. Should be sent to wine (tm).
svn path=/trunk/; revision=51321