Index: trunk/src/data.c =================================================================== --- trunk/src/data.c (revision 716) +++ trunk/src/data.c (revision 717) @@ -215,7 +215,8 @@ { long lid; - camv->bbox.x1 = camv->bbox.x2 = camv->bbox.y1 = camv->bbox.y2 = 0; + camv->bbox.x1 = camv->bbox.y1 = RND_COORD_MAX; + camv->bbox.x2 = camv->bbox.y2 = -RND_COORD_MAX; for(lid = 0; lid < camv->layers.used; lid++) { camv_layer_t *ly = (camv_layer_t *)camv->layers.array[lid]; if (ly->objs.size != 0) { @@ -223,6 +224,12 @@ rnd_box_bump_point((rnd_box_t *)&camv->bbox, ly->objs.bbox.x2, ly->objs.bbox.y2); } } + + if ((camv->bbox.x1 == RND_COORD_MAX) || (camv->bbox.y1 == RND_COORD_MAX) || (camv->bbox.x2 == -RND_COORD_MAX) || (camv->bbox.y2 == -RND_COORD_MAX)) { + /* empty layer - make it 1*1 mm so it's easier to handle */ + camv->bbox.x1 = camv->bbox.y1 = 0; + camv->bbox.x2 = camv->bbox.y2 = RND_MM_TO_COORD(1); + } } void camv_layer_select(camv_design_t *camv, int idx)