Fix switching modes on RISC OS

(cherry picked from commit 7071efb6a3)
This commit is contained in:
Cameron Cawley
2026-05-12 16:18:27 +01:00
committed by Sam Lantinga
parent 90c68dce38
commit 08c33bb861
2 changed files with 5 additions and 1 deletions

View File

@@ -1529,9 +1529,13 @@ bool SDL_SetDisplayModeForDisplay(SDL_VideoDisplay *display, SDL_DisplayMode *mo
mode = &display->desktop_mode;
}
// On RISC OS, it's necessary to switch from the desktop to single-tasking
// fullscreen so that it can handle switching back to the desktop correctly.
#ifndef SDL_PLATFORM_RISCOS
if (mode == display->current_mode) {
return true;
}
#endif
// Actually change the display mode
if (_this->SetDisplayMode) {

View File

@@ -96,7 +96,7 @@ static size_t measure_mode_block(const int *block)
return blockSize * 4;
}
static bool read_mode_variable(int *block, int var)
static int read_mode_variable(int *block, int var)
{
_kernel_swi_regs regs;
regs.r[0] = (int)block;