From 5b8a8bc091f36fbb95e730c9d578cf098a48310f Mon Sep 17 00:00:00 2001 From: camthehaxman Date: Wed, 24 Jan 2024 11:28:27 -0600 Subject: [PATCH] fix positioning of highlighted buttons --- src/Gui.c | 10 +++++++--- 1 file changed, 7 insertions(+), 3 deletions(-) diff --git a/src/Gui.c b/src/Gui.c index df20c0942..9fde8f9dc 100644 --- a/src/Gui.c +++ b/src/Gui.c @@ -469,22 +469,26 @@ int Screen_DoPointerDown(void* screen, int id, int x, int y) { struct Screen* s = (struct Screen*)screen; struct Widget** widgets = s->widgets; int i, count = s->numWidgets; + enum Screen3DS scr = Window_3DS_SetRenderScreen(BOTTOM_SCREEN); /* iterate backwards (because last elements rendered are shown over others) */ for (i = count - 1; i >= 0; i--) { struct Widget* w = widgets[i]; if (!w || !Widget_Contains(w, x, y)) continue; - if (w->flags & WIDGET_FLAG_DISABLED) return i; + if (w->flags & WIDGET_FLAG_DISABLED) break; if (w->MenuClick) { w->MenuClick(s, w); } else { Elem_HandlesPointerDown(w, id, x, y); } - return i; + break; } - return -1; + + Window_3DS_SetRenderScreen(scr); + + return i; } int Screen_Index(void* screen, void* widget) {