diff options
author | Robert Pohlink <pohlinkzei@gmx-topmail.de> | 2016-02-22 08:49:59 +0100 |
---|---|---|
committer | Robert Pohlink <pohlinkzei@gmx-topmail.de> | 2016-02-22 08:49:59 +0100 |
commit | f9d4b1443a35aaeef3111aa972a02e1eee1e66cd (patch) | |
tree | e4282cc362e8dbf46f17e89bffaadb0c9bc2389d /navit/osd/core | |
parent | 2aa0177017e346ca1e2b96a8c191bb57078c99a2 (diff) | |
download | navit-f9d4b1443a35aaeef3111aa972a02e1eee1e66cd.tar.gz |
Update osd_core.c
Diffstat (limited to 'navit/osd/core')
-rw-r--r-- | navit/osd/core/osd_core.c | 13 |
1 files changed, 10 insertions, 3 deletions
diff --git a/navit/osd/core/osd_core.c b/navit/osd/core/osd_core.c index f2a898c22..9e64a0197 100644 --- a/navit/osd/core/osd_core.c +++ b/navit/osd/core/osd_core.c @@ -2497,6 +2497,7 @@ struct osd_speed_warner { int bTextOnly; struct graphics_image *img_active,*img_passive,*img_off; char* label_str; + int wait_before_warn; }; static void @@ -2562,8 +2563,14 @@ osd_speed_warner_draw(struct osd_priv_common *opc, struct navit *navit, struct v if( this->speed_exceed_limit_offset+routespeed<tracking_speed && (100.0+this->speed_exceed_limit_percent)/100.0*routespeed<tracking_speed ) { if(this->announce_state==eNoWarn && this->announce_on) { - this->announce_state=eWarningTold; //warning told - navit_say(navit,_("Please decrease your speed")); + wait_before_warn++; + if(wait_before_warn > 10){ + this->announce_state=eWarningTold; //warning told + navit_say(navit,_("Please decrease your speed")); + } + }else{ + /* reset speed warning */ + wait_before_warn = 0; } } if( tracking_speed <= routespeed ) { @@ -2619,7 +2626,7 @@ osd_speed_warner_init(struct osd_priv_common *opc, struct navit *nav) if (opc->osd_item.h < this->d) this->d=opc->osd_item.h; this->width=this->d/10; - + this->wait_before_warn = 0; if(this->label_str && !strncmp("images:",this->label_str,7)) { char *tok1=NULL, *tok2=NULL, *tok3=NULL; strtok(this->label_str,":"); |