From 63fbc3742696bb8492e8f43569c1d4a3ff48573b Mon Sep 17 00:00:00 2001 From: Anonymous941 Date: Wed, 6 Mar 2024 10:58:19 -0500 Subject: [PATCH] Fix graphical glitches in volume adjustment menu Due to the waitInputWithTimeout call taking up to 1 second, the framebuffer must be flushed. Also added padding where it was needed --- sysmodules/rosalina/source/menus/sysconfig.c | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/sysmodules/rosalina/source/menus/sysconfig.c b/sysmodules/rosalina/source/menus/sysconfig.c index e8aba0b6..e63943a6 100644 --- a/sysmodules/rosalina/source/menus/sysconfig.c +++ b/sysmodules/rosalina/source/menus/sysconfig.c @@ -438,11 +438,12 @@ void SysConfigMenu_AdjustVolume(void) Draw_DrawString(10, posY, COLOR_WHITE, "Current status:"); posY = Draw_DrawString(100, posY, (tempVolumeOverride == -1) ? COLOR_RED : COLOR_GREEN, (tempVolumeOverride == -1) ? " DISABLED" : " ENABLED "); if (tempVolumeOverride != -1) { - posY = Draw_DrawFormattedString(30, posY, COLOR_WHITE, "\nValue: [%d%%]", tempVolumeOverride); + posY = Draw_DrawFormattedString(30, posY, COLOR_WHITE, "\nValue: [%d%%] ", tempVolumeOverride); } else { posY = Draw_DrawString(30, posY, COLOR_WHITE, "\n "); } + Draw_FlushFramebuffer(); u32 pressed = waitInputWithTimeout(1000); if(pressed & KEY_A) @@ -484,6 +485,5 @@ void SysConfigMenu_AdjustVolume(void) if (tempVolumeOverride > 100) tempVolumeOverride = 100; } - } while(!menuShouldExit); }