From c6aa1b5e6f28aeea76aebb27294e5aec644eef03 Mon Sep 17 00:00:00 2001 From: jdgleaver Date: Wed, 15 May 2019 12:55:53 +0100 Subject: [PATCH] (RGUI) Fix thumbnail updates after loading a 'broken' thumbnail image --- menu/drivers/rgui.c | 24 +++++++++++++++++++++++- 1 file changed, 23 insertions(+), 1 deletion(-) diff --git a/menu/drivers/rgui.c b/menu/drivers/rgui.c index 56f0b2b8a2..b8624f14fd 100644 --- a/menu/drivers/rgui.c +++ b/menu/drivers/rgui.c @@ -1799,8 +1799,30 @@ static bool rgui_load_image(void *userdata, void *data, enum menu_image_type typ rgui_t *rgui = (rgui_t*)userdata; settings_t *settings = config_get_ptr(); - if (!rgui || !data || !settings) + if (!rgui || !settings) + { return false; + } + + if (!data) + { + /* This means we have a 'broken' image. There is no + * data, but we still have to decrement any thumbnail + * queues (otherwise further thumbnail processing will + * be blocked) */ + if (type == MENU_IMAGE_THUMBNAIL) + { + if (rgui->thumbnail_queue_size > 0) + rgui->thumbnail_queue_size--; + } + else if (type == MENU_IMAGE_LEFT_THUMBNAIL) + { + if (rgui->left_thumbnail_queue_size > 0) + rgui->left_thumbnail_queue_size--; + } + + return false; + } switch (type) {