From 063d80262b3d3e40eadd1527de25bb432e151262 Mon Sep 17 00:00:00 2001 From: Eric Reinsmidt Date: Fri, 17 Jul 2026 00:11:43 -0400 Subject: [PATCH] fix: doubled selection pill title when hardware indicator is shown The selected list item's title is baked into the screen by the list loop at x = SCALE1(BUTTON_MARGIN + BUTTON_PADDING), and the animated pill-text overlay (globalText) is drawn on top of it. Two of the three overlay draw sites use that same x, so the overlay lands exactly on the baked copy and the label reads as a single crisp string. The static-redraw path used x = SCALE1(PADDING + BUTTON_PADDING) instead. That path runs every frame while a volume/brightness/colortemp indicator is held on a stationary selection, so the overlay was drawn SCALE1(PADDING - BUTTON_MARGIN) = SCALE1(5) to the right of the baked title, producing a doubled/ghosted label. Align this draw site with the other two so the overlay always sits on top of the baked title. --- workspace/all/nextui/nextui.c | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/workspace/all/nextui/nextui.c b/workspace/all/nextui/nextui.c index 38862e6a7..a4f68f9ef 100644 --- a/workspace/all/nextui/nextui.c +++ b/workspace/all/nextui/nextui.c @@ -3223,7 +3223,7 @@ int main (int argc, char *argv[]) { SDL_LockMutex(animMutex); if (list_show_entry_names) { GFX_drawOnLayer(globalpill, pillRect.x, pillRect.y, globallpillW, globalpill->h, 1.0f, 0, LAYER_TRANSITION); - GFX_drawOnLayer(globalText, SCALE1(PADDING+BUTTON_PADDING), pilltargetTextY, globalText->w, globalText->h, 1.0f, 0, LAYER_SCROLLTEXT); + GFX_drawOnLayer(globalText, SCALE1(BUTTON_MARGIN + BUTTON_PADDING), pilltargetTextY, globalText->w, globalText->h, 1.0f, 0, LAYER_SCROLLTEXT); } SDL_UnlockMutex(animMutex); }