summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
-rw-r--r--apps/plugins/credits.c10
1 files changed, 7 insertions, 3 deletions
diff --git a/apps/plugins/credits.c b/apps/plugins/credits.c
index 245570e8a2..9a3a01e596 100644
--- a/apps/plugins/credits.c
+++ b/apps/plugins/credits.c
@@ -373,6 +373,7 @@ static void roll_credits(void)
enum plugin_status plugin_start(const struct plugin_api* api, const void* parameter)
{
+ long finish;
(void)parameter;
rb = api;
@@ -385,9 +386,12 @@ enum plugin_status plugin_start(const struct plugin_api* api, const void* parame
#endif
/* Show the logo for about 3 secs allowing the user to stop */
- if(!rb->action_userabort(3*HZ))
- roll_credits();
-
+ finish = *rb->current_tick + 3*HZ;
+ while (*rb->current_tick < finish)
+ if(rb->action_userabort(finish - *rb->current_tick))
+ break;
+ roll_credits();
+
/* Turn on backlight timeout (revert to settings) */
backlight_use_settings(rb); /* backlight control in lib/helper.c */