diff --git a/WINGs/wpopupbutton.c b/WINGs/wpopupbutton.c index 155c649..4899230 100644 --- a/WINGs/wpopupbutton.c +++ b/WINGs/wpopupbutton.c @@ -566,7 +566,17 @@ static void handleActionEvents(WMEvent * event, void *data) switch (event->type) { /* called for menuView */ case WME_EXPOSE: - paintMenuEntry(bPtr, bPtr->highlightedItem, True); + { + /* Paint all items: highlighted one with white bg + text, + * the rest with grey bg. X11 used to rely on the X server + * auto-filling the window background; on Wayland we paint + * everything ourselves. */ + int n = WMGetArrayItemCount(bPtr->items); + int i; + for (i = 0; i < n; i++) { + paintMenuEntry(bPtr, i, i == bPtr->highlightedItem); + } + } break; case WME_LEAVE: