From 473e6ff7b8ecbbdd7f4265d598c751bdc894c7c7 Mon Sep 17 00:00:00 2001 From: twinaphex Date: Sat, 23 Jan 2016 15:45:40 +0100 Subject: [PATCH] Call RETRO_ENVIRONMENT_SHUTDOWN if image can't be loaded --- cores/libretro-imageviewer/image_core.c | 10 +++++++++- 1 file changed, 9 insertions(+), 1 deletion(-) diff --git a/cores/libretro-imageviewer/image_core.c b/cores/libretro-imageviewer/image_core.c index cebd96dedf..e34b85d338 100644 --- a/cores/libretro-imageviewer/image_core.c +++ b/cores/libretro-imageviewer/image_core.c @@ -209,6 +209,9 @@ static bool imageviewer_load(const char *path, uint32_t *buf, int image_index) /* RGBA > XRGB8888 */ buf = &image_buffer[0]; + + if (!buf) + return false; end = buf + (image_width*image_height*sizeof(uint32_t))/4; while(buf < end) @@ -383,7 +386,12 @@ void IMAGE_CORE_PREFIX(retro_run)(void) } if (load_image) - imageviewer_load(file_list->elems[image_index].data, buf, image_index); + { + if (!imageviewer_load(file_list->elems[image_index].data, buf, image_index)) + { + IMAGE_CORE_PREFIX(environ_cb)(RETRO_ENVIRONMENT_SHUTDOWN, NULL); + } + } #ifdef DUPE_TEST if (!image_uploaded)