diff options
Diffstat (limited to 'apps/plugins/imageviewer/imageviewer.c')
-rw-r--r-- | apps/plugins/imageviewer/imageviewer.c | 9 |
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 | |||
857 | reload_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 |