Module: wine Branch: master Commit: e79684874d6be3e28504480ca434f593919ac421 URL: http://source.winehq.org/git/wine.git/?a=commit;h=e79684874d6be3e28504480ca4...
Author: Huw Davies huw@codeweavers.com Date: Mon Nov 2 10:10:54 2015 +0000
user32: Restore the dc's colours after sending WM_DRAWITEM.
Signed-off-by: Huw Davies huw@codeweavers.com Signed-off-by: Alexandre Julliard julliard@winehq.org
---
dlls/user32/menu.c | 5 +++++ 1 file changed, 5 insertions(+)
diff --git a/dlls/user32/menu.c b/dlls/user32/menu.c index 847540b..2db18b4 100644 --- a/dlls/user32/menu.c +++ b/dlls/user32/menu.c @@ -1458,6 +1458,7 @@ static void MENU_DrawMenuItem( HWND hwnd, HMENU hmenu, HWND hwndOwner, HDC hdc, ** the menu owner has finished drawing. */ DRAWITEMSTRUCT dis; + COLORREF old_bk, old_text;
dis.CtlType = ODT_MENU; dis.CtlID = 0; @@ -1475,8 +1476,12 @@ static void MENU_DrawMenuItem( HWND hwnd, HMENU hmenu, HWND hwndOwner, HDC hdc, "hwndItem=%p, hdc=%p, rcItem=%s\n", hwndOwner, dis.itemID, dis.itemState, dis.itemAction, dis.hwndItem, dis.hDC, wine_dbgstr_rect( &dis.rcItem)); + old_bk = GetBkColor( hdc ); + old_text = GetTextColor( hdc ); SendMessageW( hwndOwner, WM_DRAWITEM, 0, (LPARAM)&dis ); /* Draw the popup-menu arrow */ + SetBkColor( hdc, old_bk ); + SetTextColor( hdc, old_text ); if (lpitem->fType & MF_POPUP) draw_popup_arrow( hdc, rect, arrow_bitmap_width, arrow_bitmap_height);