diff options
author | Peter D'Hoye <peter.dhoye@gmail.com> | 2006-05-18 22:00:28 +0000 |
---|---|---|
committer | Peter D'Hoye <peter.dhoye@gmail.com> | 2006-05-18 22:00:28 +0000 |
commit | 965e824923e63b6fd53113ed4c4c2c04692b2fe4 (patch) | |
tree | b4fb969a879cf18ecc372671081e260b6119c61a /apps | |
parent | b5ddf412ad0cf55d96f91006a73c113dd2753ef5 (diff) | |
download | rockbox-965e824923e63b6fd53113ed4c4c2c04692b2fe4.tar.gz rockbox-965e824923e63b6fd53113ed4c4c2c04692b2fe4.zip |
Check if backdrop available at wps load. Clear old backdrop pointer when the user has removed it while being in the menu. Fixes bug 5351
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@9961 a1c6a512-1295-4272-9138-f99709370657
Diffstat (limited to 'apps')
-rw-r--r-- | apps/gui/gwps.c | 12 | ||||
-rw-r--r-- | apps/tree.c | 6 |
2 files changed, 16 insertions, 2 deletions
diff --git a/apps/gui/gwps.c b/apps/gui/gwps.c index 7c9bbc63d2..b84027c61c 100644 --- a/apps/gui/gwps.c +++ b/apps/gui/gwps.c | |||
@@ -106,9 +106,16 @@ long gui_wps_show(void) | |||
106 | } | 106 | } |
107 | #ifdef HAVE_LCD_COLOR | 107 | #ifdef HAVE_LCD_COLOR |
108 | gui_wps[SCREEN_MAIN].data->old_backdrop = lcd_get_backdrop(); | 108 | gui_wps[SCREEN_MAIN].data->old_backdrop = lcd_get_backdrop(); |
109 | if (gui_wps[SCREEN_MAIN].data->has_backdrop) { | 109 | if (gui_wps[SCREEN_MAIN].data->has_backdrop) |
110 | { | ||
110 | lcd_set_backdrop(&wps_backdrop[0][0]); | 111 | lcd_set_backdrop(&wps_backdrop[0][0]); |
111 | } | 112 | } |
113 | else | ||
114 | { | ||
115 | /* wps has no backdrop, so clear it in case we're switching wps */ | ||
116 | lcd_set_backdrop(gui_wps[SCREEN_MAIN].data->old_backdrop); | ||
117 | } | ||
118 | |||
112 | #endif | 119 | #endif |
113 | #endif | 120 | #endif |
114 | 121 | ||
@@ -555,6 +562,9 @@ long gui_wps_show(void) | |||
555 | if (main_menu()) | 562 | if (main_menu()) |
556 | return true; | 563 | return true; |
557 | #ifdef HAVE_LCD_COLOR | 564 | #ifdef HAVE_LCD_COLOR |
565 | if(global_settings.backdrop_file[0] == 0) | ||
566 | gui_wps[SCREEN_MAIN].data->old_backdrop = NULL; | ||
567 | |||
558 | if (gui_wps[SCREEN_MAIN].data->has_backdrop) | 568 | if (gui_wps[SCREEN_MAIN].data->has_backdrop) |
559 | lcd_set_backdrop(&wps_backdrop[0][0]); | 569 | lcd_set_backdrop(&wps_backdrop[0][0]); |
560 | #endif | 570 | #endif |
diff --git a/apps/tree.c b/apps/tree.c index 435ea8880a..6141a000bd 100644 --- a/apps/tree.c +++ b/apps/tree.c | |||
@@ -889,7 +889,11 @@ static bool dirbrowse(void) | |||
889 | if (gui_wps_show() == SYS_USB_CONNECTED) | 889 | if (gui_wps_show() == SYS_USB_CONNECTED) |
890 | reload_dir = true; | 890 | reload_dir = true; |
891 | #ifdef HAVE_LCD_COLOR | 891 | #ifdef HAVE_LCD_COLOR |
892 | lcd_set_backdrop(old_backdrop); | 892 | /* check if the backdrop hasn't been cleared */ |
893 | if(global_settings.backdrop_file[0]) | ||
894 | lcd_set_backdrop(old_backdrop); | ||
895 | else | ||
896 | lcd_set_backdrop(NULL); | ||
893 | #endif | 897 | #endif |
894 | #ifdef HAVE_HOTSWAP | 898 | #ifdef HAVE_HOTSWAP |
895 | else | 899 | else |