summaryrefslogtreecommitdiff
path: root/navit/osd
diff options
context:
space:
mode:
authormartin-s <martin-s@ffa7fe5e-494d-0410-b361-a75ebd5db220>2012-09-13 09:42:55 +0000
committermartin-s <martin-s@ffa7fe5e-494d-0410-b361-a75ebd5db220>2012-09-13 09:42:55 +0000
commit928324c151bc3529f6c922d41fd7f25d4bcc0310 (patch)
treedfeed21fe605a231f6c511e103a41150cc79856a /navit/osd
parentf2b4bb2fa090d24934abff31a37765ac5d018801 (diff)
downloadnavit-svn-928324c151bc3529f6c922d41fd7f25d4bcc0310.tar.gz
Fix:osd_core:Don't stop odometer on reset command
git-svn-id: http://svn.code.sf.net/p/navit/code/trunk/navit@5225 ffa7fe5e-494d-0410-b361-a75ebd5db220
Diffstat (limited to 'navit/osd')
-rw-r--r--navit/osd/core/osd_core.c11
1 files changed, 6 insertions, 5 deletions
diff --git a/navit/osd/core/osd_core.c b/navit/osd/core/osd_core.c
index 41988d2f..4f875fd7 100644
--- a/navit/osd/core/osd_core.c
+++ b/navit/osd/core/osd_core.c
@@ -81,7 +81,7 @@ struct osd_priv_common {
struct odometer;
int set_std_osd_attr(struct osd_priv_common*opc, struct attr*the_attr);
-static void osd_odometer_reset(struct osd_priv_common *opc, int force);
+static void osd_odometer_reset(struct osd_priv_common *opc, int flags);
static void osd_cmd_odometer_reset(struct navit *this, char *function, struct attr **in, struct attr ***out, int *valid);
static void osd_odometer_draw(struct osd_priv_common *opc, struct navit *nav, struct vehicle *v);
static struct osd_text_item * oti_new(struct osd_text_item * parent);
@@ -524,7 +524,7 @@ osd_cmd_odometer_reset(struct navit *this, char *function, struct attr **in, str
GList* list = odometer_list;
while(list) {
if(!strcmp(((struct odometer*)((struct osd_priv_common *)(list->data))->data)->name,in[0]->u.str)) {
- osd_odometer_reset(list->data,1);
+ osd_odometer_reset(list->data,3);
osd_odometer_draw(list->data,this,NULL);
}
list = g_list_next(list);
@@ -775,12 +775,13 @@ static void osd_odometer_draw(struct osd_priv_common *opc, struct navit *nav, st
static void
-osd_odometer_reset(struct osd_priv_common *opc, int force)
+osd_odometer_reset(struct osd_priv_common *opc, int flags)
{
struct odometer *this = (struct odometer *)opc->data;
- if(!this->bDisableReset || force) {
- this->bActive = 0;
+ if(!this->bDisableReset || (flags & 1)) {
+ if (!(flags & 2))
+ this->bActive = 0;
this->sum_dist = 0;
this->sum_time = 0;
this->max_speed = 0;