summaryrefslogtreecommitdiff
path: root/apps/plugin.c
diff options
context:
space:
mode:
authorJens Arnold <amiconn@rockbox.org>2006-02-16 22:36:04 +0000
committerJens Arnold <amiconn@rockbox.org>2006-02-16 22:36:04 +0000
commit7ea4d591277e35b05baadebb0be3a1d909e830d7 (patch)
tree1b1e70e2eda7bbbfd3286bed0fcc477ddc7084a1 /apps/plugin.c
parent791005a54128f6393cfa5189864f68d09cdfc03a (diff)
Plugin loader adjustments: * Don't clear the LCD before loading, just show a splash instead. * After successful loading, remove backdrop, then clear display, to properly prepare the screen for the plugin. * Clear after returning from plugin and restoring the backdrop.
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@8710 a1c6a512-1295-4272-9138-f99709370657
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;