Fixed bug 1583 - Fix build for disabled SDL render subsystem
Marcus von Appen If one wants to disable the SDL render subsystem, the build breaks on several platforms due to an empty render_drivers array in SDL_render.c.
This commit is contained in:
parent
83e561b48c
commit
b72f0b741e
1 changed files with 16 additions and 2 deletions
|
@ -44,8 +44,8 @@
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
static const SDL_RenderDriver *render_drivers[] = {
|
|
||||||
#if !SDL_RENDER_DISABLED
|
#if !SDL_RENDER_DISABLED
|
||||||
|
static const SDL_RenderDriver *render_drivers[] = {
|
||||||
#if SDL_VIDEO_RENDER_D3D
|
#if SDL_VIDEO_RENDER_D3D
|
||||||
&D3D_RenderDriver,
|
&D3D_RenderDriver,
|
||||||
#endif
|
#endif
|
||||||
|
@ -65,8 +65,9 @@ static const SDL_RenderDriver *render_drivers[] = {
|
||||||
&PSP_RenderDriver,
|
&PSP_RenderDriver,
|
||||||
#endif
|
#endif
|
||||||
&SW_RenderDriver
|
&SW_RenderDriver
|
||||||
#endif /* !SDL_RENDER_DISABLED */
|
|
||||||
};
|
};
|
||||||
|
#endif /* !SDL_RENDER_DISABLED */
|
||||||
|
|
||||||
static char renderer_magic;
|
static char renderer_magic;
|
||||||
static char texture_magic;
|
static char texture_magic;
|
||||||
|
|
||||||
|
@ -75,18 +76,26 @@ static int UpdateLogicalSize(SDL_Renderer *renderer);
|
||||||
int
|
int
|
||||||
SDL_GetNumRenderDrivers(void)
|
SDL_GetNumRenderDrivers(void)
|
||||||
{
|
{
|
||||||
|
#if !SDL_RENDER_DISABLED
|
||||||
return SDL_arraysize(render_drivers);
|
return SDL_arraysize(render_drivers);
|
||||||
|
#else
|
||||||
|
return 0;
|
||||||
|
#endif
|
||||||
}
|
}
|
||||||
|
|
||||||
int
|
int
|
||||||
SDL_GetRenderDriverInfo(int index, SDL_RendererInfo * info)
|
SDL_GetRenderDriverInfo(int index, SDL_RendererInfo * info)
|
||||||
{
|
{
|
||||||
|
#if !SDL_RENDER_DISABLED
|
||||||
if (index < 0 || index >= SDL_GetNumRenderDrivers()) {
|
if (index < 0 || index >= SDL_GetNumRenderDrivers()) {
|
||||||
return SDL_SetError("index must be in the range of 0 - %d",
|
return SDL_SetError("index must be in the range of 0 - %d",
|
||||||
SDL_GetNumRenderDrivers() - 1);
|
SDL_GetNumRenderDrivers() - 1);
|
||||||
}
|
}
|
||||||
*info = render_drivers[index]->info;
|
*info = render_drivers[index]->info;
|
||||||
return 0;
|
return 0;
|
||||||
|
#else
|
||||||
|
return SDL_SetError("SDL not built with rendering support");
|
||||||
|
#endif
|
||||||
}
|
}
|
||||||
|
|
||||||
static int
|
static int
|
||||||
|
@ -197,6 +206,7 @@ SDL_CreateWindowAndRenderer(int width, int height, Uint32 window_flags,
|
||||||
SDL_Renderer *
|
SDL_Renderer *
|
||||||
SDL_CreateRenderer(SDL_Window * window, int index, Uint32 flags)
|
SDL_CreateRenderer(SDL_Window * window, int index, Uint32 flags)
|
||||||
{
|
{
|
||||||
|
#if !SDL_RENDER_DISABLED
|
||||||
SDL_Renderer *renderer = NULL;
|
SDL_Renderer *renderer = NULL;
|
||||||
int n = SDL_GetNumRenderDrivers();
|
int n = SDL_GetNumRenderDrivers();
|
||||||
const char *hint;
|
const char *hint;
|
||||||
|
@ -284,6 +294,10 @@ SDL_CreateRenderer(SDL_Window * window, int index, Uint32 flags)
|
||||||
"Created renderer: %s", renderer->info.name);
|
"Created renderer: %s", renderer->info.name);
|
||||||
}
|
}
|
||||||
return renderer;
|
return renderer;
|
||||||
|
#else
|
||||||
|
SDL_SetError("SDL not built with rendering support");
|
||||||
|
return NULL;
|
||||||
|
#endif
|
||||||
}
|
}
|
||||||
|
|
||||||
SDL_Renderer *
|
SDL_Renderer *
|
||||||
|
|
Loading…
Add table
Add a link
Reference in a new issue