summaryrefslogtreecommitdiff
path: root/fftools
diff options
context:
space:
mode:
authorMatt Oliver <protogonoi@gmail.com>2018-04-10 23:01:18 +1000
committerMatt Oliver <protogonoi@gmail.com>2018-04-18 18:57:07 +1000
commit6be690685a8876a61f87b2b8bf30547e09030a96 (patch)
treec098b8eb4b75c4da3efcfe359bd20286a4927ded /fftools
parent223f3dff8cd874143b6d531b2c8f45ad0dc9d9f6 (diff)
ffplay: Fix realloc_texture when input texture is NULL.
SDL_QueryTexture and SDL_DestroyTexture require that the input texture pointer be non-null. Debug builds of SDL will correctly check for this and break program execution. This patch fixes this by checking the status of the texture pointer. Signed-off-by: Matt Oliver <protogonoi@gmail.com>
Diffstat (limited to 'fftools')
-rw-r--r--fftools/ffplay.c5
1 files changed, 3 insertions, 2 deletions
diff --git a/fftools/ffplay.c b/fftools/ffplay.c
index bc9ddb8885..dcca9c26d8 100644
--- a/fftools/ffplay.c
+++ b/fftools/ffplay.c
@@ -834,10 +834,11 @@ static int realloc_texture(SDL_Texture **texture, Uint32 new_format, int new_wid
{
Uint32 format;
int access, w, h;
- if (SDL_QueryTexture(*texture, &format, &access, &w, &h) < 0 || new_width != w || new_height != h || new_format != format) {
+ if (!*texture || SDL_QueryTexture(*texture, &format, &access, &w, &h) < 0 || new_width != w || new_height != h || new_format != format) {
void *pixels;
int pitch;
- SDL_DestroyTexture(*texture);
+ if (*texture)
+ SDL_DestroyTexture(*texture);
if (!(*texture = SDL_CreateTexture(renderer, new_format, SDL_TEXTUREACCESS_STREAMING, new_width, new_height)))
return -1;
if (SDL_SetTextureBlendMode(*texture, blendmode) < 0)