diff --git a/src/libs/lodepng/lv_lodepng.c b/src/libs/lodepng/lv_lodepng.c index 5ef606008..2bcf6a21a 100644 --- a/src/libs/lodepng/lv_lodepng.c +++ b/src/libs/lodepng/lv_lodepng.c @@ -54,6 +54,17 @@ void lv_lodepng_init(void) lv_image_decoder_set_close_cb(dec, decoder_close); } +void lv_lodepng_deinit(void) +{ + lv_image_decoder_t * dec = NULL; + while((dec = lv_image_decoder_get_next(dec)) != NULL) { + if(dec->info_cb == decoder_info) { + lv_image_decoder_delete(dec); + break; + } + } +} + /********************** * STATIC FUNCTIONS **********************/ diff --git a/src/libs/lodepng/lv_lodepng.h b/src/libs/lodepng/lv_lodepng.h index 5e51924f1..f3dc4b771 100644 --- a/src/libs/lodepng/lv_lodepng.h +++ b/src/libs/lodepng/lv_lodepng.h @@ -33,6 +33,8 @@ extern "C" { */ void lv_lodepng_init(void); +void lv_lodepng_deinit(void); + /********************** * MACROS **********************/ diff --git a/src/libs/tjpgd/lv_tjpgd.c b/src/libs/tjpgd/lv_tjpgd.c index 9f62561ee..40ed8739e 100644 --- a/src/libs/tjpgd/lv_tjpgd.c +++ b/src/libs/tjpgd/lv_tjpgd.c @@ -94,6 +94,17 @@ void lv_tjpgd_init(void) lv_image_decoder_set_close_cb(dec, decoder_close); } +void lv_tjpgd_deinit(void) +{ + lv_image_decoder_t * dec = NULL; + while((dec = lv_image_decoder_get_next(dec)) != NULL) { + if(dec->info_cb == decoder_info) { + lv_image_decoder_delete(dec); + break; + } + } +} + /********************** * STATIC FUNCTIONS **********************/ diff --git a/src/libs/tjpgd/lv_tjpgd.h b/src/libs/tjpgd/lv_tjpgd.h index 3d2a5f40c..ec35800b2 100644 --- a/src/libs/tjpgd/lv_tjpgd.h +++ b/src/libs/tjpgd/lv_tjpgd.h @@ -30,6 +30,8 @@ extern "C" { void lv_tjpgd_init(void); +void lv_tjpgd_deinit(void); + /********************** * MACROS **********************/