Index: obj_common.c =================================================================== --- obj_common.c (revision 5279) +++ obj_common.c (revision 5280) @@ -38,7 +38,7 @@ /* returns a pointer to an objects bounding box; * data is valid until the routine is called again */ -pcb_box_t *GetObjectBoundingBox(int Type, void *Ptr1, void *Ptr2, void *Ptr3) +int GetObjectBoundingBox(int Type, void *Ptr1, void *Ptr2, void *Ptr3, pcb_box_t *res) { switch (Type) { case PCB_TYPE_LINE: @@ -48,19 +48,22 @@ case PCB_TYPE_PAD: case PCB_TYPE_PIN: case PCB_TYPE_ELEMENT_NAME: - return (pcb_box_t *) Ptr2; + *res = *(pcb_box_t *)Ptr2; + return 0; case PCB_TYPE_VIA: case PCB_TYPE_ELEMENT: - return (pcb_box_t *) Ptr1; + *res = *(pcb_box_t *)Ptr1; + return 0; case PCB_TYPE_POLYGON_POINT: case PCB_TYPE_LINE_POINT: - return (pcb_box_t *) Ptr3; + *res = *(pcb_box_t *)Ptr3; + return 0; case PCB_TYPE_ARC_POINT: /* abort();*/ - default: pcb_message(PCB_MSG_DEFAULT, "Request for bounding box of unsupported type %d\n", Type); - return (pcb_box_t *) Ptr2; + *res = *(pcb_box_t *)Ptr2; + return -1; } }