summaryrefslogtreecommitdiff
path: root/navit/traffic.c
diff options
context:
space:
mode:
Diffstat (limited to 'navit/traffic.c')
-rw-r--r--navit/traffic.c6
1 files changed, 4 insertions, 2 deletions
diff --git a/navit/traffic.c b/navit/traffic.c
index fdb9f126b..7c23b0421 100644
--- a/navit/traffic.c
+++ b/navit/traffic.c
@@ -2748,11 +2748,13 @@ static int traffic_message_add_segments(struct traffic_message * this_, struct m
if (s->start == p_iter) {
/* forward direction */
p_iter = s->end;
- flags = data->flags | (data->dir == location_dir_one ? AF_ONEWAY : 0);
+ flags = data->flags | (s->data.flags & AF_ONEWAYMASK)
+ | (data->dir == location_dir_one ? AF_ONEWAY : 0);
} else {
/* backward direction */
p_iter = s->start;
- flags = data->flags | (data->dir == location_dir_one ? AF_ONEWAYREV : 0);
+ flags = data->flags | (s->data.flags & AF_ONEWAYMASK)
+ | (data->dir == location_dir_one ? AF_ONEWAYREV : 0);
}