Huw Davies : user32: Restore the dc's colours after sending WM_DRAWITEM.
Module: wine Branch: master Commit: e79684874d6be3e28504480ca434f593919ac421 URL: http://source.winehq.org/git/wine.git/?a=commit;h=e79684874d6be3e28504480ca4... Author: Huw Davies <huw(a)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(a)codeweavers.com> Signed-off-by: Alexandre Julliard <julliard(a)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);
participants (1)
-
Alexandre Julliard