summaryrefslogtreecommitdiff
path: root/apps/plugins/imageviewer/imageviewer.c
diff options
context:
space:
mode:
Diffstat (limited to 'apps/plugins/imageviewer/imageviewer.c')
-rw-r--r--apps/plugins/imageviewer/imageviewer.c9
1 files changed, 9 insertions, 0 deletions
diff --git a/apps/plugins/imageviewer/imageviewer.c b/apps/plugins/imageviewer/imageviewer.c
index b849812508..ba5f8fec16 100644
--- a/apps/plugins/imageviewer/imageviewer.c
+++ b/apps/plugins/imageviewer/imageviewer.c
@@ -853,6 +853,8 @@ static int load_and_show(char* filename, struct image_info *info)
853 file_pt[curfile] = NULL; 853 file_pt[curfile] = NULL;
854 return change_filename(direction); 854 return change_filename(direction);
855 } 855 }
856
857reload_decoder:
856 if (image_type != status) /* type of image is changed, load decoder. */ 858 if (image_type != status) /* type of image is changed, load decoder. */
857 { 859 {
858 struct loader_info loader_info = { 860 struct loader_info loader_info = {
@@ -881,6 +883,13 @@ static int load_and_show(char* filename, struct image_info *info)
881 else 883 else
882 status = imgdec->load_image(filename, info, buf, &remaining); 884 status = imgdec->load_image(filename, info, buf, &remaining);
883 885
886 if (status == PLUGIN_JPEG_PROGRESSIVE)
887 {
888 rb->lcd_clear_display();
889 status = IMAGE_JPEG_PROGRESSIVE;
890 goto reload_decoder;
891 }
892
884 if (status == PLUGIN_OUTOFMEM) 893 if (status == PLUGIN_OUTOFMEM)
885 { 894 {
886#ifdef USE_PLUG_BUF 895#ifdef USE_PLUG_BUF