From 26d20d5e22d3ca2b43ad86895e5774048a5799d1 Mon Sep 17 00:00:00 2001
From: Cameron Cawley <[EMAIL REDACTED]>
Date: Wed, 14 Jan 2026 22:17:28 +0000
Subject: [PATCH] Fix touch screen display IDs on the 3DS
(cherry picked from commit 02c9f2045b8fe4e5a445be2293fa0d20b328b91e)
---
src/video/n3ds/SDL_n3dsvideo.c | 13 +++++--------
src/video/n3ds/SDL_n3dsvideo.h | 4 ++--
2 files changed, 7 insertions(+), 10 deletions(-)
diff --git a/src/video/n3ds/SDL_n3dsvideo.c b/src/video/n3ds/SDL_n3dsvideo.c
index 65dbbb6da60c7..b5a60c754843c 100644
--- a/src/video/n3ds/SDL_n3dsvideo.c
+++ b/src/video/n3ds/SDL_n3dsvideo.c
@@ -31,7 +31,7 @@
#define N3DSVID_DRIVER_NAME "n3ds"
-static bool AddN3DSDisplay(gfxScreen_t screen);
+static SDL_DisplayID AddN3DSDisplay(gfxScreen_t screen);
static bool N3DS_VideoInit(SDL_VideoDevice *_this);
static void N3DS_VideoQuit(SDL_VideoDevice *_this);
@@ -136,14 +136,14 @@ static bool N3DS_VideoInit(SDL_VideoDevice *_this)
return true;
}
-static bool AddN3DSDisplay(gfxScreen_t screen)
+static SDL_DisplayID AddN3DSDisplay(gfxScreen_t screen)
{
SDL_DisplayMode mode;
SDL_DisplayModeData *modedata;
SDL_VideoDisplay display;
SDL_DisplayData *display_driver_data = SDL_calloc(1, sizeof(SDL_DisplayData));
if (!display_driver_data) {
- return false;
+ return 0;
}
SDL_zero(mode);
@@ -153,7 +153,7 @@ static bool AddN3DSDisplay(gfxScreen_t screen)
modedata = SDL_malloc(sizeof(SDL_DisplayModeData));
if (!modedata) {
- return false;
+ return 0;
}
mode.w = (screen == GFX_TOP) ? GSP_SCREEN_HEIGHT_TOP : GSP_SCREEN_HEIGHT_BOTTOM;
@@ -167,10 +167,7 @@ static bool AddN3DSDisplay(gfxScreen_t screen)
display.desktop_mode = mode;
display.internal = display_driver_data;
- if (SDL_AddVideoDisplay(&display, false) == 0) {
- return false;
- }
- return true;
+ return SDL_AddVideoDisplay(&display, false);
}
static void N3DS_VideoQuit(SDL_VideoDevice *_this)
diff --git a/src/video/n3ds/SDL_n3dsvideo.h b/src/video/n3ds/SDL_n3dsvideo.h
index f436e7e4efc5e..9796278106db3 100644
--- a/src/video/n3ds/SDL_n3dsvideo.h
+++ b/src/video/n3ds/SDL_n3dsvideo.h
@@ -29,8 +29,8 @@
struct SDL_VideoData
{
- int top_display;
- int touch_display;
+ SDL_DisplayID top_display;
+ SDL_DisplayID touch_display;
};
struct SDL_WindowData