From 156d34df8ca81688429b6a3c234f42c19274cb11 Mon Sep 17 00:00:00 2001 From: Sam Lantinga Date: Mon, 15 Feb 2016 08:42:35 -0800 Subject: [PATCH] Fixed crash if some initialization succeeded and some didn't, thanks to Dongwon Kang --- IMG_jpg.c | 2 +- IMG_png.c | 2 +- IMG_tif.c | 2 +- IMG_webp.c | 2 +- 4 files changed, 4 insertions(+), 4 deletions(-) diff --git a/IMG_jpg.c b/IMG_jpg.c index 05fd80d0..cd9d323d 100644 --- a/IMG_jpg.c +++ b/IMG_jpg.c @@ -386,7 +386,7 @@ SDL_Surface *IMG_LoadJPG_RW(SDL_RWops *src) } start = SDL_RWtell(src); - if ( !IMG_Init(IMG_INIT_JPG) ) { + if ( (IMG_Init(IMG_INIT_JPG) & IMG_INIT_JPG) == 0 ) { return NULL; } diff --git a/IMG_png.c b/IMG_png.c index 3a9d0e84..bddcb3f3 100644 --- a/IMG_png.c +++ b/IMG_png.c @@ -362,7 +362,7 @@ SDL_Surface *IMG_LoadPNG_RW(SDL_RWops *src) } start = SDL_RWtell(src); - if ( !IMG_Init(IMG_INIT_PNG) ) { + if ( (IMG_Init(IMG_INIT_PNG) & IMG_INIT_PNG) == 0 ) { return NULL; } diff --git a/IMG_tif.c b/IMG_tif.c index 2a0a3809..7b4d6227 100644 --- a/IMG_tif.c +++ b/IMG_tif.c @@ -217,7 +217,7 @@ SDL_Surface* IMG_LoadTIF_RW(SDL_RWops* src) } start = SDL_RWtell(src); - if ( !IMG_Init(IMG_INIT_TIF) ) { + if ( (IMG_Init(IMG_INIT_TIF) & IMG_INIT_TIF) == 0 ) { return NULL; } diff --git a/IMG_webp.c b/IMG_webp.c index 5cb65dc3..496f11f1 100644 --- a/IMG_webp.c +++ b/IMG_webp.c @@ -196,7 +196,7 @@ SDL_Surface *IMG_LoadWEBP_RW(SDL_RWops *src) start = SDL_RWtell(src); - if ( !IMG_Init(IMG_INIT_WEBP) ) { + if ( (IMG_Init(IMG_INIT_WEBP) & IMG_INIT_WEBP) == 0 ) { goto error; }