- remove NtUserEnumClipboardFormats, use ->ONEPARAM_ROUTINE_ENUMCLIPBOARDFORMAT insetad
- remove NtUserRegisterClipboardFormat, use NtUserRegisterWIndowsMessage instead
- remove NtUserKillSystemTimer, use HWNDPARAM_ROUTINE_KILLSYSTEMTIMER instead
- remove NtUserInsertMenuItem, use NtUserThunkedMenuItemInfo instead
- remove NtUserGetCapture, use THREADSTATE_CAPTUREWINDOW instead
- remove NtUserGetActiveWindow, use THREADSTATE_ACTIVEWINDOW instead
- remove NtUserGetQueueStatus, use ONEPARAM_ROUTIME_GETQUEUESTATUS instead
- remove NtUserGetLastActivePopup, wasn't implemented
- remove NtUserRealizePalette from ntuser.h, it's not implemented
- remove duplicate NtUserGetLastInputInfo from ntuser.h
- remove PrivateCsrssRergisterPrimitive from user32, it was unused and unimplemented
- remove NtUserDereferenceWndprocHandle, it was unused
- move WNDPROC_INFO structure from ntuser.h to win32k/include/class.h, as it's not used in usermode anymore
tested with AbiWord and FF on VMWare
svn path=/trunk/; revision=32825
It now supports multiple connections from multiple clients across all services.
For anyone interested in doing some network stress testing, start the simple tcp/ip services from the service manager, then run 'telnet <ip> 19' from a networked machine. Other ports to try are 7, 9, 13 and 17. Have fun.
svn path=/trunk/; revision=32819
- Use pushlocks instead of the fast mutex that was previously used.
- Improve the performance of some paths by reducing lock acquisition time, and using atomic operations instead when possible.
- Implement the exported Ob APIs which were added in Windows XP to access the Sd cache (ObReference/DereferenceSecurityDescriptor and ObLogSecurityDescriptor). These are used by file systems (such as NPFS) on Windows XP and higher.
svn path=/trunk/; revision=32814
- Rename the variables to understandable names.
- Don't leak object locks when destroying an object type.
- Directory objects must be case-insensitive.
- Symbolic links must be case-insensitive.
- Create \KernelObjects directory during startup.
svn path=/trunk/; revision=32811
- Fix broken code when trying to find the last wait block in several parts of the pushlock code.
- Fix broken algorithm in the optimization of the pushlock waiter list.
- The wake event for the pushlock should be a synchronization event, not a notification event.
- Fix broken algorithm during the release of a pushlock (in shared cases).
- Fix broken code during "try to wake pushlock".
- Remove DbgPrints from inlined pushlock code during contention.
- Thanks to Alex for noticing these bugs and providing advice on the fixes. This fixes lots of race issues in the handle table implementation.
svn path=/trunk/; revision=32809
- zero out lfWidth member when returning logfont in IntGdiGetFontResourceInfo. Fixes recently introduced bug in fontview display, also fixes ms fontview.
svn path=/trunk/; revision=32807
Additionally, the code for the "Set" operation should actually go in SeSetSecurityDescriptorInfo API, which was unimplemented. By simply copying the code over, this API is now implemented, and the routine works as expected.
Also, the default method was not handling "delete" requests, but was ignoring them, resulting in memory leaks and never-dereferenced descriptors.
Thanks to Alex for finding these bugs. Alex also says SeSetSecurityDescriptorInfo should call the Rtl package (RtlSetObjectSecurity) but we don't implement those functions yet.
svn path=/trunk/; revision=32799
If we do it the other way round, some systems throw away settings like the keyboard translation, when detecting the mouse.
All known keyboard and mouse detection problems should be fixed now! :-)
See issue #2790 for more details.
svn path=/trunk/; revision=32795
Do a much simpler initialization instead:
* The "Get ID" command was used for detecting whether a mouse is present.
But it just handled normal mice, IntelliMice and IntelliMice Explorer, although there can be many more possible values for other mice. (see for example http://www.win.tue.nl/~aeb/linux/kbd/scancodes-13.html#mcf2).
Also this command isn't available on all systems.
Furthermore we already do a MOUSE_LINE_TEST in i8042BasicDetect, which is the more reliable method to test whether a mouse is plugged in. Therefore this "Get ID" command can be simply removed.
* The whole mouse initialization process now boils down to enabling the mouse itself and in the controller
* All in all, some more mice should be detected now.
- Give i8042IsrWritePort a boolean return value and pass the results of the i8042Write calls
- Replace two i8042Write calls for writing to the mouse by one i8042IsrWritePort call where possible
- Remove the unused KBD_LINE_TEST define
This change was tested under QEMU, VMware and on one real system.
svn path=/trunk/; revision=32790
- Finally remove the Bitstream Vera fonts and substitude them by the DejaVu fonts.
The DejaVu fonts were derived from the Bitstream Vera fonts, so they look similar.
svn path=/trunk/; revision=32783
- Implement RtlRegisterWait and RtlDeregisterWait/Ex. Move the function to new file wait.c. Ported from Wine source.
- Completely untested.
- good luck!
svn path=/trunk/; revision=32779