Huw Davies : user32: Actually use the menu's background brush.

Alexandre Julliard julliard at wine.codeweavers.com
Fri Jan 16 14:12:30 CST 2015


Module: wine
Branch: master
Commit: 9650f21b2db51ba85e578ebfefb84e4444c75145
URL:    http://source.winehq.org/git/wine.git/?a=commit;h=9650f21b2db51ba85e578ebfefb84e4444c75145

Author: Huw Davies <huw at codeweavers.com>
Date:   Fri Jan 16 11:10:39 2015 +0000

user32: Actually use the menu's background brush.

---

 dlls/user32/menu.c | 11 ++++++-----
 1 file changed, 6 insertions(+), 5 deletions(-)

diff --git a/dlls/user32/menu.c b/dlls/user32/menu.c
index f0eb66b..847540b 100644
--- a/dlls/user32/menu.c
+++ b/dlls/user32/menu.c
@@ -1737,15 +1737,17 @@ static void MENU_DrawMenuItem( HWND hwnd, HMENU hmenu, HWND hwndOwner, HDC hdc,
  */
 static void MENU_DrawPopupMenu( HWND hwnd, HDC hdc, HMENU hmenu )
 {
-    HBRUSH hPrevBrush = 0;
+    HBRUSH hPrevBrush = 0, brush = GetSysColorBrush( COLOR_MENU );
     RECT rect;
+    POPUPMENU *menu = MENU_GetMenu( hmenu );
 
     TRACE("wnd=%p dc=%p menu=%p\n", hwnd, hdc, hmenu);
 
     GetClientRect( hwnd, &rect );
 
-    if((hPrevBrush = SelectObject( hdc, GetSysColorBrush(COLOR_MENU) ))
-        && (SelectObject( hdc, get_menu_font(FALSE))))
+    if (menu && menu->hbrBack) brush = menu->hbrBack;
+    if ((hPrevBrush = SelectObject( hdc, brush ))
+        && SelectObject( hdc, get_menu_font(FALSE) ))
     {
 	HPEN hPrevPen;
 
@@ -1754,7 +1756,6 @@ static void MENU_DrawPopupMenu( HWND hwnd, HDC hdc, HMENU hmenu )
 	hPrevPen = SelectObject( hdc, GetStockObject( NULL_PEN ) );
 	if( hPrevPen )
 	{
-	    POPUPMENU *menu;
 	    BOOL flat_menu = FALSE;
 
 	    SystemParametersInfoW (SPI_GETFLATMENU, 0, &flat_menu, 0);
@@ -1763,7 +1764,7 @@ static void MENU_DrawPopupMenu( HWND hwnd, HDC hdc, HMENU hmenu )
 	    else
 		DrawEdge (hdc, &rect, EDGE_RAISED, BF_RECT);
 
-            if( (menu = MENU_GetMenu( hmenu )))
+            if (menu)
             {
                 TRACE("hmenu %p Style %08x\n", hmenu, menu->dwStyle);
                 /* draw menu items */




More information about the wine-cvs mailing list