From 1684c7eca20a5a1e8de278f844c904717463b1a1 Mon Sep 17 00:00:00 2001 From: martin-s Date: Thu, 1 Nov 2007 18:57:50 +0000 Subject: [PATCH] Fixed handling of single tiles git-svn-id: https://navit.svn.sourceforge.net/svnroot/navit/trunk@506 ffa7fe5e-494d-0410-b361-a75ebd5db220 --- navit/src/data/binfile/binfile.c | 15 ++++++++++++--- 1 file changed, 12 insertions(+), 3 deletions(-) diff --git a/navit/src/data/binfile/binfile.c b/navit/src/data/binfile/binfile.c index 653bceb..5a7edf6 100644 --- a/navit/src/data/binfile/binfile.c +++ b/navit/src/data/binfile/binfile.c @@ -178,6 +178,7 @@ static struct map_rect_priv * map_rect_new_binfile(struct map_priv *map, struct map_selection *sel) { struct map_rect_priv *mr; + struct tile *t; dbg(1,"map_rect_new_binfile\n"); mr=g_new0(struct map_rect_priv, 1); @@ -185,7 +186,14 @@ map_rect_new_binfile(struct map_priv *map, struct map_selection *sel) mr->sel=sel; mr->item.id_hi=0; mr->item.id_lo=0; - push_zipfile_tile(mr, map->eoc->zipecenn-1); + if (map->eoc) + push_zipfile_tile(mr, map->eoc->zipecenn-1); + else { + t->start=(int *)(map->fi->begin); + t->end=(int *)(map->fi->end); + t->zipfile_num=0; + push_tile(mr, t); + } mr->item.meth=&methods_binfile; mr->item.priv_data=mr; return mr; @@ -254,7 +262,7 @@ map_rect_get_item_binfile(struct map_rect_priv *mr) r.lu.y=t->pos_coord[3]; r.rl.x=t->pos_coord[2]; r.rl.y=t->pos_coord[1]; - if (!selection_contains(mr->sel, &r)) { + if (!mr->m->eoc || !selection_contains(mr->sel, &r)) { continue; } dbg(1,"0x%x\n", t->pos_attr[5]); @@ -270,7 +278,8 @@ static struct item * map_rect_get_item_byid_binfile(struct map_rect_priv *mr, int id_hi, int id_lo) { struct tile *t; - push_zipfile_tile(mr, id_hi); + if (mr->m->eoc) + push_zipfile_tile(mr, id_hi); t=mr->t; t->pos=t->start+id_lo; mr->item.id_hi=id_hi; -- 2.7.4