summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorRobert Pohlink <pohlinkzei@gmx-topmail.de>2016-02-22 08:49:59 +0100
committerRobert Pohlink <pohlinkzei@gmx-topmail.de>2016-02-22 08:49:59 +0100
commitf9d4b1443a35aaeef3111aa972a02e1eee1e66cd (patch)
treee4282cc362e8dbf46f17e89bffaadb0c9bc2389d
parent2aa0177017e346ca1e2b96a8c191bb57078c99a2 (diff)
downloadnavit-f9d4b1443a35aaeef3111aa972a02e1eee1e66cd.tar.gz
Update osd_core.c
-rw-r--r--navit/osd/core/osd_core.c13
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,":");