Revert r62264.
Reason: all APIs set the last error when a CSR* call doesn't return STATUS_SUCCESS. If some winetests fail because of this, this is because we do not correctly do what's needed here (normally the TRUE or FALSE value is returned by the console server, and is not retrieved by a success or failure of a CSR call contrary to what's done here).
svn path=/trunk/; revision=62267
- Force the use of memory operands in bit test intrinsics. Bit offsets above 31 (or 63) can't behave correctly with registers (the constant case is fine because it ensures low offsets). Thanks to Timo Kreuzer and Alex Radocea.
svn path=/trunk/; revision=62266
* Improve the layout of the class definitions to make the important details easier to find.
* Rename private (non-COM) class methods to more appropriate names, including a prefix.
* CMenuBand: Make one submenu close before showing another one. This may not be happening in the same exact way windows does it.
CORE-7881
svn path=/branches/shell-experiments/; revision=62263
* CMenuBand: Implement rudimentary support for changing the hot item with the keyboard (up/down). The code can probable be simpler, and some corner cases need to be fixed, but it works.
* CMenuDeskBar: Attempt to redesign OnSelect to better match the windows behaviour, which is still mostly unknown.
* Make the log results more readable.
CORE-7881
svn path=/branches/shell-experiments/; revision=62262
* CMenuDeskBar: Use the submenu pointer to pass on the cancel events. Windows appears to call this with code=2 (cancellevel).
* CMenuBand: Begin implementing a focus manager for the menu windows. This class will take care of handling mouse and keyboard interactions, including closing the start menu and submenus when the user clicks outside the menu window.
CORE-7881
svn path=/branches/shell-experiments/; revision=62259
* Improve the logging system to allow using the same logger for both windows classes and rshell classes.
* Add a wrapper for CMenuSite.
* CMenuDeskBar: Reduce the log differences by keeping a cached copy of the client HWND.
* CMenuBand: Reduce the log differences by keeping a copy of the top level HWND. Will be used later.
CORE-7586
svn path=/branches/shell-experiments/; revision=62253
Don't make exports by ordinal NONAME automatically. Fixes a bunch of tests. Thanks to Amine for finding the problem in the first place.
svn path=/trunk/; revision=62250
* Fix some more C-style casts, and misc coding style changes.
* CMenuBand: Create a skeleton of the functions that would handle SMIF_TRACKPOPUP submenus.
* CMenuDeskBar: Fix the redraw issue that prevented submenus from working as expected.
CORE-7886
svn path=/branches/shell-experiments/; revision=62248
- Implement SeCheckAuditPrivilege and use it instead of SeSinglePrivilegeCheck, because the latter uses the effective token and we want the primary token
- Implement SePrivilegedServiceAuditAlarm
- Add and initialize missing SeLocalServiceSid and SeNetworkServiceSid
svn path=/trunk/; revision=62245
* CMenuBand: Improve wrapper logging to get a better picture. Handle more SIDs on QueryService. Send selection messages on hot item changed and on execute.
* CMenuDeskBar: Improve wrapper logging to get a better picture. Handle more SIDs on QueryService. Begin handling more cases in OnSelect.
CORE-7881
svn path=/branches/shell-experiments/; revision=62243
* CMenuBand: Fix display of icons for the static toolbar.
* CMenuDeskBar: Fix positioning of the window not to cross the top edge.
CORE-7881
svn path=/branches/shell-experiments/; revision=62242
* Change C-style casts to static_cast where possible, and reinterpret_cast elsewhere.
* Make coding style and formatting more consistent.
svn path=/branches/shell-experiments/; revision=62239
- CStartMenu: add a test flag that makes the start menu show its submenus using SMIF_TRACKPOPUP in order to show how CMenuBand can use TrackPopupMenu
svn path=/branches/shell-experiments/; revision=62238
* CMenuBand: Improve the code structure.
* Make the class selection better managed.
Thanks Giannis.
CORE-7881
svn path=/branches/shell-experiments/; revision=62231
* CMenuDeskBar: Use the proper value for style in AdjustWindowRect.
* CMenuBand: Implement submenu hot-tracking timer. Not functional yet (submenu creation not implemented).
CORE-7881
svn path=/branches/shell-experiments/; revision=62227
- CMenuDeskBar: Implement showing a shadow. Implement closing the menu when it loses focus (this only works with the stock menu band for now)
svn path=/branches/shell-experiments/; revision=62225
- CMenuBand: Fix the size of the separators by setting iBitmap to 0 (which acts as the width of the separator).
- CMenuDeskBar:
Create the window only in CMenuDeskBar::SetClient and not in SetSite.
Greatly simplify SetSite.
Make sure that WS_EX_TOPMOST isn't removed when we call SetWindowPos
Do not forward requests for the SID_SMenuPopup service to the taskbar as this causes the menu band to capture the mouse for the taskbar and not the desk bar
svn path=/branches/shell-experiments/; revision=62223
Make the type of the strings in the Parameters section Windows XP compatible. This fixes the kernel32 environ winetest.
svn path=/trunk/; revision=62215