From c540c77756ee0e3f3cc4c1bb79f4b4a5c05d0f00 Mon Sep 17 00:00:00 2001 From: Sam Lantinga Date: Thu, 18 Jan 2024 03:51:56 -0800 Subject: [PATCH] Removed SDL_INIT_EVERYTHING Fixes https://github.com/libsdl-org/SDL/issues/8709 --- cmake/test/inc_sdl_noslash.c | 2 +- cmake/test/inc_sdl_slash.c | 2 +- docs/README-migration.md | 1 + include/SDL3/SDL_init.h | 6 +----- src/SDL.c | 2 ++ test/testautomation_platform.c | 4 ++-- test/testautomation_subsystems.c | 6 +++--- 7 files changed, 11 insertions(+), 12 deletions(-) diff --git a/cmake/test/inc_sdl_noslash.c b/cmake/test/inc_sdl_noslash.c index f99129258..600329cab 100644 --- a/cmake/test/inc_sdl_noslash.c +++ b/cmake/test/inc_sdl_noslash.c @@ -3,6 +3,6 @@ void inc_sdl_noslash(void) { SDL_SetMainReady(); - SDL_Init(SDL_INIT_EVERYTHING); + SDL_Init(0); SDL_Quit(); } diff --git a/cmake/test/inc_sdl_slash.c b/cmake/test/inc_sdl_slash.c index e3674993b..7acca1524 100644 --- a/cmake/test/inc_sdl_slash.c +++ b/cmake/test/inc_sdl_slash.c @@ -3,6 +3,6 @@ void inc_sdl_slash(void) { SDL_SetMainReady(); - SDL_Init(SDL_INIT_EVERYTHING); + SDL_Init(0); SDL_Quit(); } diff --git a/docs/README-migration.md b/docs/README-migration.md index d9f33ed53..a9266005a 100644 --- a/docs/README-migration.md +++ b/docs/README-migration.md @@ -716,6 +716,7 @@ The following symbols have been renamed: The following symbols have been removed: * SDL_INIT_NOPARACHUTE +* SDL_INIT_EVERYTHING - you should only initialize the subsystems you are using ## SDL_joystick.h diff --git a/include/SDL3/SDL_init.h b/include/SDL3/SDL_init.h index 472afc994..c208b5f7d 100644 --- a/include/SDL3/SDL_init.h +++ b/include/SDL3/SDL_init.h @@ -61,10 +61,6 @@ typedef enum SDL_INIT_EVENTS = 0x00004000, SDL_INIT_SENSOR = 0x00008000 } SDL_InitFlags; -#define SDL_INIT_EVERYTHING ( \ - SDL_INIT_TIMER | SDL_INIT_AUDIO | SDL_INIT_VIDEO | SDL_INIT_EVENTS | \ - SDL_INIT_JOYSTICK | SDL_INIT_HAPTIC | SDL_INIT_GAMEPAD | SDL_INIT_SENSOR \ - ) /** * Initialize the SDL library. @@ -94,7 +90,7 @@ typedef enum * - `SDL_INIT_GAMEPAD`: gamepad subsystem; automatically initializes the * joystick subsystem * - `SDL_INIT_EVENTS`: events subsystem - * - `SDL_INIT_EVERYTHING`: all of the above subsystems + * - `SDL_INIT_SENSOR`: sensor subsystem * * Subsystem initialization is ref-counted, you must call SDL_QuitSubSystem() * for each SDL_InitSubSystem() to correctly shutdown a subsystem manually (or diff --git a/src/SDL.c b/src/SDL.c index 7e6f49b91..b3820ae6f 100644 --- a/src/SDL.c +++ b/src/SDL.c @@ -47,6 +47,8 @@ #include "joystick/SDL_joystick_c.h" #include "sensor/SDL_sensor_c.h" +#define SDL_INIT_EVERYTHING ~0U + /* Initialization/Cleanup routines */ #include "timer/SDL_timer_c.h" #ifdef SDL_VIDEO_DRIVER_WINDOWS diff --git a/test/testautomation_platform.c b/test/testautomation_platform.c index 0e1ddd1c5..2165361f1 100644 --- a/test/testautomation_platform.c +++ b/test/testautomation_platform.c @@ -256,12 +256,12 @@ static int platform_testDefaultInit(void *arg) int ret; int subsystem; - subsystem = SDL_WasInit(SDL_INIT_EVERYTHING); + subsystem = SDL_WasInit(0); SDLTest_AssertCheck(subsystem != 0, "SDL_WasInit(0): returned %i, expected != 0", subsystem); - ret = SDL_Init(SDL_WasInit(SDL_INIT_EVERYTHING)); + ret = SDL_Init(0); SDLTest_AssertCheck(ret == 0, "SDL_Init(0): returned %i, expected 0, error: %s", ret, diff --git a/test/testautomation_subsystems.c b/test/testautomation_subsystems.c index b60927a0b..e91052519 100644 --- a/test/testautomation_subsystems.c +++ b/test/testautomation_subsystems.c @@ -15,12 +15,12 @@ static void subsystemsSetUp(void *arg) /* CHECKME: can we use SDL_Quit here, or this will break the flow of tests? */ SDL_Quit(); /* Alternate variant without SDL_Quit: - while (SDL_WasInit(SDL_INIT_EVERYTHING) != 0) { - SDL_QuitSubSystem(SDL_INIT_EVERYTHING); + while (SDL_WasInit(0) != 0) { + SDL_QuitSubSystem(~0U); } */ SDLTest_AssertPass("Reset all subsystems before subsystems test"); - SDLTest_AssertCheck(SDL_WasInit(SDL_INIT_EVERYTHING) == 0, "Check result from SDL_WasInit(SDL_INIT_EVERYTHING)"); + SDLTest_AssertCheck(SDL_WasInit(0) == 0, "Check result from SDL_WasInit(0)"); } static void subsystemsTearDown(void *arg)