diff --git a/WPrefs.app/editmenu.c b/WPrefs.app/editmenu.c index a719cba..35a6601 100644 --- a/WPrefs.app/editmenu.c +++ b/WPrefs.app/editmenu.c @@ -142,6 +142,8 @@ WEditMenuItem *WCreateEditMenuItem(WMWidget * parent, const char *title, Bool is if (isTitle) { WMSetWidgetBackgroundColor(iPtr, WMBlackColor(scr)); + } else { + WMSetWidgetBackgroundColor(iPtr, WMGrayColor(scr)); } WMCreateEventHandler(iPtr->view, WM_EVMASK_EXPOSURE | WM_EVMASK_STRUCTURE_NOTIFY, handleItemEvents, iPtr); @@ -192,7 +194,13 @@ static void paintEditMenuItem(WEditMenuItem * iPtr) color = scr->white; } - scr->renderBackend->fill_rect(scr->renderBackendCtx, win, scr->white, 0, 0, w, h); + /* Use the view's stored background color (set by highlightItem and + * the menu setup code). X11 used to paint backgrounds via the X + * server; on Wayland we have to draw it explicitly. */ + { + WMColor *bg = iPtr->view->backColor ? iPtr->view->backColor : scr->white; + scr->renderBackend->fill_rect(scr->renderBackendCtx, win, bg, 0, 0, w, h); + } W_DrawRelief(scr, win, 0, 0, w + 1, h, WRRaised);