offscreen: Don't ever use this backend unless explicitly requested.

Reference PR #10202.
This commit is contained in:
Ryan C. Gordon 2024-07-16 14:19:58 -04:00
parent bc1ceb0883
commit d78ef58b4b
No known key found for this signature in database
GPG Key ID: FA148B892AB48044

View File

@ -51,14 +51,29 @@ static void OFFSCREEN_DeleteDevice(SDL_VideoDevice *device)
SDL_free(device);
}
static SDL_bool OFFSCREEN_Available(const char *enable_hint)
{
const char *hint = SDL_GetHint(SDL_HINT_VIDEO_DRIVER);
if (hint) {
if (SDL_strcmp(hint, enable_hint) == 0) {
return SDL_TRUE;
}
}
return SDL_FALSE;
}
static SDL_VideoDevice *OFFSCREEN_CreateDevice(void)
{
SDL_VideoDevice *device;
if (!OFFSCREEN_Available(OFFSCREENVID_DRIVER_NAME)) {
return NULL;
}
/* Initialize all variables that we clean on shutdown */
device = (SDL_VideoDevice *)SDL_calloc(1, sizeof(SDL_VideoDevice));
if (!device) {
return 0;
return NULL;
}
/* General video */