From f9e38d4eff01476fd48db082d78cdfb5a0fd3f3f Mon Sep 17 00:00:00 2001 From: Sam Lantinga Date: Thu, 3 Feb 2011 17:42:58 -0800 Subject: [PATCH] Fixed recursion crash when setting SDL_VIDEO_RENDERER=software --- src/video/SDL_video.c | 14 +++++++++++++- 1 file changed, 13 insertions(+), 1 deletion(-) diff --git a/src/video/SDL_video.c b/src/video/SDL_video.c index e88f081da..676aa4499 100644 --- a/src/video/SDL_video.c +++ b/src/video/SDL_video.c @@ -126,7 +126,19 @@ SDL_CreateWindowTexture(_THIS, SDL_Window * window, Uint32 * format, void ** pix renderer = data->renderer; if (!renderer) { - renderer = SDL_CreateRenderer(window, -1, SDL_RENDERER_ACCELERATED); + SDL_RendererInfo info; + int i; + + /* We need to make sure we don't get a software renderer */ + for (i = 0; i < SDL_GetNumRenderDrivers(); ++i) { + SDL_GetRenderDriverInfo(i, &info); + if (SDL_strcmp(info.name, "software") != 0) { + renderer = SDL_CreateRenderer(window, i, 0); + if (renderer) { + break; + } + } + } if (!renderer) { return -1; }