Fix:Core:Correct layering of android surfaces
[navit-package] / navit / map.c
index 404090d..8a6408b 100644 (file)
@@ -146,6 +146,8 @@ int
 map_set_attr(struct map *this_, struct attr *attr)
 {
        this_->attrs=attr_generic_set_attr(this_->attrs, attr);
+       if (this_->meth.map_set_attr)
+               this_->meth.map_set_attr(this_->priv, attr);
        callback_list_call_attr_2(this_->attr_cbl, attr->type, this_, attr);
        return 1;
 }
@@ -373,7 +375,7 @@ struct map_search {
  * have a look into country.c for details. Because of that every map plugin has to accept a country item
  * to be passed as "superior item".
  * 
- * Note: If you change something here, please make shure to also update the documentation of mapset_search_new()
+ * Note: If you change something here, please make sure to also update the documentation of mapset_search_new()
  * in mapset.c!
  *
  * @param m The map that should be searched
@@ -391,7 +393,7 @@ map_search_new(struct map *m, struct item *item, struct attr *search_attr, int p
        this_=g_new0(struct map_search,1);
        this_->m=m;
        this_->search_attr=*search_attr;
-       if (search_attr->type >= attr_country_all && search_attr->type <= attr_country_name)
+       if ((search_attr->type >= attr_country_all && search_attr->type <= attr_country_name) || search_attr->type == attr_country_id)
                this_->priv=country_search_new(&this_->search_attr, partial);
        else {
                if (m->meth.map_search_new) {
@@ -427,7 +429,7 @@ map_search_get_item(struct map_search *this_)
 
        if (! this_)
                return NULL;
-       if (this_->search_attr.type >= attr_country_all && this_->search_attr.type <= attr_country_name)
+       if ((this_->search_attr.type >= attr_country_all && this_->search_attr.type <= attr_country_name) || this_->search_attr.type == attr_country_id)
                return country_search_get_item(this_->priv);
        ret=this_->m->meth.map_search_get_item(this_->priv);
        if (ret)
@@ -652,8 +654,11 @@ map_dump_file(struct map *map, const char *file)
 {
        FILE *f;
        f=fopen(file,"w");
-       map_dump_filedesc(map, f);
-       fclose(f);
+       if (f) {
+               map_dump_filedesc(map, f);
+               fclose(f);
+       } else 
+               dbg(0,"failed to open file '%s'\n",file);
 }
 
 void