- do not add extra space; modify the tests to confirm this;
- right flush to the menu tab stop, not to the menu border;
- small fixes to the menu tab stop calculation.
It is 0 that denotes an infinite timeout for the wine server now, not
-1 (INFINITE).
Document put_message_in_queue()'s check for INFINITE (done for
backwards compatibility with Windows 9x).
- Use 0 to get an infinite timeout with SendMessageTimeoutW().
- Use SendMessageTimeoutW() to send the WM_ENDSESSION messages too so
we don't get stuck if a process is hung.
- Only send WM_ENDSESSION to windows that received a
WM_QUERYENDSESSION message. Also better mimick the Windows behavior.
- check mark is drawn left of a bitmap;
- if a MNS_CHECKORBMP-style menu has a checkmark, do no draw any bitmap;
- space for the popup arrow is also reserved for non popup items;
- implement the MNS_NOCHECK style.
- Use DrawText in stead of GetTextExtendPoint32, to properly measure
strings with ampersands like "&File";
- Fix mess with strings with an embedded tab;
- In case of a menu bar, two extra pixels are added if the item has
both a bitmap and string.
- Move sending WM_MEASUREITEM message for HBMMENU_CALLBACK bitmaps to
MENU_GetBitmapItemSize();
- Save the received bitmap size in the menu item structure as it will
need to be sent in the WM_DRAWITEM message;
- Move sending WM_DRAWITEM message for HBMMENU_CALLBACK bitmaps to
MENU_DrawBitmapItem();
- This also means that HBMMENU_CALLBACK bitmaps are now supported in
menu bars.
- Stretch bitmaps and icons to the whole control size if
SS_CENTERIMAGE is absent
- Draw the background of centered bitmaps and icons with the
background brush (like Windows XP for applications with a manifest)
- Separate WM_NCCREATE and WM_SETTEXT.
- WM_SETTEXT and WM_SETFONT are ignored for static controls that don't
display text.
- WM_SETTEXT must not be used to change the icon/bitmap/metafile.
- Immediately repaint the control on all occasions.