summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
-rw-r--r--apps/gui/gwps-common.c12
-rw-r--r--apps/gui/gwps-common.h2
-rw-r--r--apps/gui/gwps.c6
-rw-r--r--apps/misc.c6
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();
}