Index: src_plugins/export_openems/mesh.c =================================================================== --- src_plugins/export_openems/mesh.c (revision 32014) +++ src_plugins/export_openems/mesh.c (revision 32015) @@ -1029,6 +1029,18 @@ ia_load_file(fname); } +static void mesh_sort_uniq(pcb_mesh_lines_t *l) +{ + qsort(l->result.array, vtc0_len(&l->result), sizeof(rnd_coord_t), cmp_coord); +} + +static void mesh_sort_uniq_all(pcb_mesh_t *mesh) +{ + mesh_sort_uniq(&mesh->line[PCB_MESH_HORIZONTAL]); + mesh_sort_uniq(&mesh->line[PCB_MESH_VERTICAL]); + mesh_sort_uniq(&mesh->line[PCB_MESH_Z]); +} + static void ia_gen(void) { mesh_layer_reset(); @@ -1043,6 +1055,8 @@ if (mesh.ui_layer_z != NULL) mesh_vis_z(&mesh); + mesh_sort_uniq_all(&mesh); + free(mesh.ui_name_xy); free((char *)mesh.ui_layer_xy->name); /* we have strdup'd it */ mesh.ui_name_xy = rnd_strdup_printf("mesh 0: %s", mesh.layer->name);