From 72070ea2e541d0b25c820cb2f0028f182d6709e9 Mon Sep 17 00:00:00 2001 From: martin-s Date: Sun, 8 Jul 2007 15:09:32 +0000 Subject: [PATCH] New round of bug fixes git-svn-id: https://navit.svn.sourceforge.net/svnroot/navit/trunk@276 ffa7fe5e-494d-0410-b361-a75ebd5db220 --- navit/src/coord.c | 1 + navit/src/data/textfile/textfile.c | 17 +++++++++-------- navit/src/graphics.c | 8 ++++++-- 3 files changed, 16 insertions(+), 10 deletions(-) diff --git a/navit/src/coord.c b/navit/src/coord.c index 6f22a8d..071134b 100644 --- a/navit/src/coord.c +++ b/navit/src/coord.c @@ -72,6 +72,7 @@ coord_rect_overlap(struct coord_rect *r1, struct coord_rect *r2) g_assert(r1->lu.y >= r1->rl.y); g_assert(r2->lu.x <= r2->rl.x); g_assert(r2->lu.y >= r2->rl.y); + dbg(1,"0x%x,0x%x - 0x%x,0x%x vs 0x%x,0x%x - 0x%x,0x%x\n", r1->lu.x, r1->lu.y, r1->rl.x, r1->rl.y, r2->lu.x, r2->lu.y, r2->rl.x, r2->rl.y); if (r1->lu.x > r2->rl.x) return 0; if (r1->rl.x < r2->lu.x) diff --git a/navit/src/data/textfile/textfile.c b/navit/src/data/textfile/textfile.c index e5c3497..72cb95f 100644 --- a/navit/src/data/textfile/textfile.c +++ b/navit/src/data/textfile/textfile.c @@ -3,6 +3,7 @@ #include #include #include +#include "debug.h" #include "plugin.h" #include "map.h" #include "maptype.h" @@ -104,11 +105,11 @@ textfile_coord_rewind(void *priv_data) } static void -parse_line(struct map_rect_priv *mr) +parse_line(struct map_rect_priv *mr, int attr) { int pos=0; sscanf(mr->line,"%lf %c %lf %c %n",&mr->lat,&mr->lat_c,&mr->lng,&mr->lng_c,&pos); - if (pos < strlen(mr->line)) { + if (pos < strlen(mr->line) && attr) { strcpy(mr->attrs, mr->line+pos); } } @@ -120,13 +121,13 @@ textfile_coord_get(void *priv_data, struct coord *c, int count) struct coord_geo cg; struct map_rect_priv *mr=priv_data; int ret=0; - if (debug) - printf("textfile_coord_get %d\n",count); + dbg(1,"textfile_coord_get %d\n",count); while (count--) { if (contains_coord(mr->line) && mr->f && !feof(mr->f) && (!mr->item.id_hi || !mr->eoc)) { - parse_line(mr); + parse_line(mr, mr->item.id_hi); lat=mr->lat; lng=mr->lng; + dbg(1,"lat=%f lng=%f\n", lat, lng); cg.lat=floor(lat/100); lat-=cg.lat*100; cg.lat+=lat/60; @@ -136,6 +137,7 @@ textfile_coord_get(void *priv_data, struct coord *c, int count) cg.lng+=lng/60; transform_from_geo(projection_mg, &cg, c); + dbg(1,"c=0x%x,0x%x\n", c->x, c->y); c++; ret++; get_line(mr); @@ -271,7 +273,7 @@ map_rect_get_item_textfile(struct map_rect_priv *mr) if (debug) printf("map_rect_get_item_textfile: point found\n"); mr->attrs[0]='\0'; - parse_line(mr); + parse_line(mr, 1); mr->eoc=0; mr->item.id_lo=mr->pos; } else { @@ -281,8 +283,7 @@ map_rect_get_item_textfile(struct map_rect_priv *mr) } if ((p=index(mr->line,'\n'))) *p='\0'; - if (debug) - printf("map_rect_get_item_textfile: line found\n"); + dbg(1,"map_rect_get_item_textfile: line found\n"); if (! mr->line[0]) { get_line(mr); continue; diff --git a/navit/src/graphics.c b/navit/src/graphics.c index 479c5b6..5e5014b 100644 --- a/navit/src/graphics.c +++ b/navit/src/graphics.c @@ -357,7 +357,9 @@ xdisplay_draw_elements(struct graphics *gra, GHashTable *display_list, struct it break; case element_icon: if (!img) { - img=graphics_image_new(gra, e->u.icon.src); + char *icon=g_strdup_printf("xpm/%s", e->u.icon.src); + img=graphics_image_new(gra, icon); + g_free(icon); if (! img) g_warning("failed to load icon '%s'\n", e->u.icon.src); } @@ -477,8 +479,10 @@ do_draw(struct displaylist *displaylist, struct transformation *t, GList *mapset } g_assert(count < max); - if (!transform_contains(t, pro, &r)) + if (!transform_contains(t, pro, &r)) { + dbg(1,"not visible\n"); continue; + } if (route && route_contains(route, item)) { struct item ritem; ritem=*item; -- 2.7.4