summaryrefslogtreecommitdiff
path: root/apps/plugin.c
diff options
context:
space:
mode:
Diffstat (limited to 'apps/plugin.c')
-rw-r--r--apps/plugin.c21
1 files changed, 13 insertions, 8 deletions
diff --git a/apps/plugin.c b/apps/plugin.c
index 6f44a9c8ce..6060b4ad31 100644
--- a/apps/plugin.c
+++ b/apps/plugin.c
@@ -424,13 +424,8 @@ int plugin_load(const char* plugin, void* parameter)
plugin_loaded = false;
}
- lcd_clear_display();
-#ifdef HAVE_LCD_BITMAP
- xm = lcd_getxmargin();
- ym = lcd_getymargin();
- lcd_setmargins(0,0);
- lcd_update();
-#endif
+ gui_syncsplash(0, true, str(LANG_WAIT));
+
#ifdef SIMULATOR
hdr = sim_plugin_load((char *)plugin, &fd);
if (!fd) {
@@ -486,10 +481,18 @@ int plugin_load(const char* plugin, void* parameter)
plugin_loaded = true;
+#ifdef HAVE_LCD_BITMAP
+ xm = lcd_getxmargin();
+ ym = lcd_getymargin();
+ lcd_setmargins(0,0);
#ifdef HAVE_LCD_COLOR
old_backdrop = lcd_get_backdrop();
lcd_set_backdrop(NULL);
+#endif
+ lcd_clear_display();
lcd_update();
+#else /* !HAVE_LCD_BITMAP */
+ lcd_clear_display();
#endif
invalidate_icache();
@@ -506,10 +509,12 @@ int plugin_load(const char* plugin, void* parameter)
#endif /* LCD_DEPTH */
/* restore margins */
lcd_setmargins(xm,ym);
-#endif /* HAVE_LCD_BITMAP */
#ifdef HAVE_LCD_COLOR
lcd_set_backdrop(old_backdrop);
#endif
+ lcd_clear_display();
+ lcd_update();
+#endif /* HAVE_LCD_BITMAP */
if (pfn_tsr_exit == NULL)
plugin_loaded = false;