From 4982b87b9cfc98a40a6fb7b837632f86e483390f Mon Sep 17 00:00:00 2001 From: Jonathan Gordon Date: Mon, 23 Jun 2008 02:45:55 +0000 Subject: fix FS#9098 - fade was updating the WPS sometimes when it shouldnt. also minor code policing.. use true/false instead of 1/0 for calls to fade() git-svn-id: svn://svn.rockbox.org/rockbox/trunk@17757 a1c6a512-1295-4272-9138-f99709370657 --- apps/gui/gwps-common.c | 12 +++++++----- apps/gui/gwps-common.h | 2 +- apps/gui/gwps.c | 6 +++--- apps/misc.c | 6 +++--- 4 files changed, 14 insertions(+), 12 deletions(-) diff --git a/apps/gui/gwps-common.c b/apps/gui/gwps-common.c index b90c216f58..f5ef604498 100644 --- a/apps/gui/gwps-common.c +++ b/apps/gui/gwps-common.c @@ -83,7 +83,7 @@ static void gui_wps_statusbar_draw(struct gui_wps *wps, bool force) /* fades the volume */ bool wps_fading_out = false; -void fade(bool fade_in) +void fade(bool fade_in, bool updatewps) { int fp_global_vol = global_settings.volume << 8; int fp_min_vol = sound_min(SOUND_VOLUME) << 8; @@ -103,8 +103,9 @@ void fade(bool fade_in) while (fp_volume < fp_global_vol - fp_step) { fp_volume += fp_step; sound_set_volume(fp_volume >> 8); - FOR_NB_SCREENS(i) - gui_wps_refresh(&gui_wps[i], 0, WPS_REFRESH_NON_STATIC); + if (updatewps) + FOR_NB_SCREENS(i) + gui_wps_refresh(&gui_wps[i], 0, WPS_REFRESH_NON_STATIC); sleep(1); } sound_set_volume(global_settings.volume); @@ -116,8 +117,9 @@ void fade(bool fade_in) while (fp_volume > fp_min_vol + fp_step) { fp_volume -= fp_step; sound_set_volume(fp_volume >> 8); - FOR_NB_SCREENS(i) - gui_wps_refresh(&gui_wps[i], 0, WPS_REFRESH_NON_STATIC); + if (updatewps) + FOR_NB_SCREENS(i) + gui_wps_refresh(&gui_wps[i], 0, WPS_REFRESH_NON_STATIC); sleep(1); } audio_pause(); diff --git a/apps/gui/gwps-common.h b/apps/gui/gwps-common.h index 3119755502..ccdc31b5a9 100644 --- a/apps/gui/gwps-common.h +++ b/apps/gui/gwps-common.h @@ -23,7 +23,7 @@ #include "gwps.h" -void fade(bool fade_in); +void fade(bool fade_in, bool updatewps); bool gui_wps_display(void); bool update_onvol_change(struct gui_wps * gwps); bool update(struct gui_wps *gwps); diff --git a/apps/gui/gwps.c b/apps/gui/gwps.c index 26d31c65bd..5426c937c0 100644 --- a/apps/gui/gwps.c +++ b/apps/gui/gwps.c @@ -326,7 +326,7 @@ long gui_wps_show(void) { wps_state.paused = false; if ( global_settings.fade_on_stop ) - fade(1); + fade(true, true); else audio_resume(); } @@ -334,7 +334,7 @@ long gui_wps_show(void) { wps_state.paused = true; if ( global_settings.fade_on_stop ) - fade(0); + fade(false, true); else audio_pause(); settings_save(); @@ -712,7 +712,7 @@ long gui_wps_show(void) status_set_audio(false); #endif if (global_settings.fade_on_stop) - fade(0); + fade(false, true); FOR_NB_SCREENS(i) gui_wps[i].display->stop_scroll(); diff --git a/apps/misc.c b/apps/misc.c index 9df6637656..167f7efbd9 100644 --- a/apps/misc.c +++ b/apps/misc.c @@ -697,7 +697,7 @@ static bool clean_shutdown(void (*callback)(void *), void *parameter) if (global_settings.fade_on_stop && (audio_stat & AUDIO_STATUS_PLAY)) { - fade(0); + fade(false, false); } if (batt_safe) /* do not save on critical battery */ @@ -774,7 +774,7 @@ bool list_stop_handler(void) if (!global_settings.party_mode) { if (global_settings.fade_on_stop) - fade(0); + fade(false, false); bookmark_autobookmark(); audio_stop(); ret = true; /* bookmarking can make a refresh necessary */ @@ -840,7 +840,7 @@ static void car_adapter_mode_processing(bool inserted) !(audio_status() & AUDIO_STATUS_PAUSE)) { if (global_settings.fade_on_stop) - fade(0); + fade(false, false); else audio_pause(); } -- cgit v1.2.3