Index: shape.c =================================================================== --- shape.c (revision 36979) +++ shape.c (revision 36980) @@ -631,7 +631,7 @@ return 0; } - if ((dia < 1) || (dia > (PCB->hidlib.size_x + PCB->hidlib.size_y)/4)) { + if ((dia < 1) || (dia > (rnd_dwg_get_size_x(&PCB->hidlib) + rnd_dwg_get_size_y(&PCB->hidlib))/4)) { rnd_message(RND_MSG_ERROR, "circle(): invalid diameter\n"); RND_ACT_IRES(1); return 0; Index: shape_dialog.c =================================================================== --- shape_dialog.c (revision 36979) +++ shape_dialog.c (revision 36980) @@ -108,7 +108,7 @@ ctx_t *shp = caller_data; rnd_coord_t dia = shp->dlg[shp->dia].val.crd; - if ((dia < 1) || (dia > (PCB->hidlib.size_x + PCB->hidlib.size_y)/4)) { + if ((dia < 1) || (dia > (rnd_dwg_get_size_x(&PCB->hidlib) + rnd_dwg_get_size_y(&PCB->hidlib))/4)) { rnd_message(RND_MSG_ERROR, "Invalid diameter.\n"); return; }