Index: trunk/src/draw_ly_spec.c =================================================================== --- trunk/src/draw_ly_spec.c (revision 28078) +++ trunk/src/draw_ly_spec.c (revision 28079) @@ -180,7 +180,7 @@ /* fallback: implicit layer -> original code: draw auto+manual */ pcb_render->set_drawing_mode(pcb_render, PCB_HID_COMP_RESET, pcb_draw_out.direct, info->drawn_area); pcb_render->set_drawing_mode(pcb_render, PCB_HID_COMP_POSITIVE, pcb_draw_out.direct, info->drawn_area); - pcb_draw_layer(info, LAYER_PTR(lid)); + pcb_draw_layer(info, pcb_get_layer(info->pcb->Data, lid)); pcb_draw_silk_auto(&cctx, &lyt_side); pcb_render->set_drawing_mode(pcb_render, PCB_HID_COMP_FLUSH, pcb_draw_out.direct, info->drawn_area); } @@ -248,7 +248,7 @@ outline */ numobj = 0; for(n = 0; n < g->len; n++) { - pcb_layer_t *ly = LAYER_PTR(g->lid[n]); + pcb_layer_t *ly = pcb_get_layer(info->pcb->Data, g->lid[n]); if (ly->line_tree != NULL) numobj += ly->line_tree->size; if (ly->arc_tree != NULL) @@ -266,7 +266,7 @@ pcb_render->set_drawing_mode(pcb_render, PCB_HID_COMP_RESET, pcb_draw_out.direct, info->drawn_area); pcb_render->set_drawing_mode(pcb_render, PCB_HID_COMP_POSITIVE, pcb_draw_out.direct, info->drawn_area); for(n = 0; n < g->len; n++) { - pcb_layer_t *ly = LAYER_PTR(g->lid[n]); + pcb_layer_t *ly = pcb_get_layer(info->pcb->Data, g->lid[n]); pcb_draw_layer(info, ly); } pcb_render->set_drawing_mode(pcb_render, PCB_HID_COMP_FLUSH, pcb_draw_out.direct, info->drawn_area); Index: trunk/src/layer.h =================================================================== --- trunk/src/layer.h (revision 28078) +++ trunk/src/layer.h (revision 28079) @@ -187,7 +187,6 @@ /************ OLD API - new code should not use these **************/ #define LAYER_ON_STACK(n) (&PCB->Data->Layer[pcb_layer_stack[(n)]]) -#define LAYER_PTR(n) (&PCB->Data->Layer[(n)]) #define CURRENT (LAYER_ON_STACK(0)) #define INDEXOFCURRENT (pcb_layer_stack[0]) Index: trunk/src/undo_old.c =================================================================== --- trunk/src/undo_old.c (revision 28078) +++ trunk/src/undo_old.c (revision 28079) @@ -582,7 +582,7 @@ type = pcb_search_obj_by_id(PCB->Data, &ptr1, &ptr2, &ptr3, Entry->ID, Entry->Kind); if (type != PCB_OBJ_VOID) { swap = pcb_layer_id(PCB->Data, (pcb_layer_t *) ptr1); - pcb_move_obj_to_layer(type, ptr1, ptr2, ptr3, LAYER_PTR(Entry->Data.MoveToLayer.OriginalLayer), pcb_true); + pcb_move_obj_to_layer(type, ptr1, ptr2, ptr3, pcb_get_layer(PCB->Data, Entry->Data.MoveToLayer.OriginalLayer), pcb_true); Entry->Data.MoveToLayer.OriginalLayer = swap; return pcb_true; } Index: trunk/src_plugins/autoroute/autoroute.c =================================================================== --- trunk/src_plugins/autoroute/autoroute.c (revision 28078) +++ trunk/src_plugins/autoroute/autoroute.c (revision 28079) @@ -1380,7 +1380,7 @@ static void showbox(pcb_box_t b, pcb_dimension_t thickness, int group) { pcb_line_t *line; - pcb_layer_t *csl, *SLayer = LAYER_PTR(group); + pcb_layer_t *csl, *SLayer = pcb_get_layer(PCB->Data, group); pcb_layer_id_t cs_id; if (showboxen < -1) return; @@ -1400,7 +1400,7 @@ #if 1 if (pcb_layer_find(PCB_LYT_TOP | PCB_LYT_SILK, &cs_id, 1) > 0) { - csl = LAYER_PTR(cs_id); + csl = pcb_get_layer(PCB->Data, cs_id); if (b.Y1 == b.Y2 || b.X1 == b.X2) thickness = 5; line = pcb_line_new(csl, b.X1, b.Y1, b.X2, b.Y1, thickness, 0, pcb_flag_make(0)); @@ -1456,7 +1456,7 @@ { pcb_layerid_t cs_id; if (pcb_layer_find(PCB_LYT_TOP | PCB_LYT_SILK, &cs_id, 1) > 0) - showbox(rb->sbox, rb->flags.source ? 20 : (rb->flags.target ? 10 : 1), rb->flags.is_via ? LAYER_PTR(cs_id) : rb->group); + showbox(rb->sbox, rb->flags.source ? 20 : (rb->flags.target ? 10 : 1), rb->flags.is_via ? pcb_get_layer(PCB->Data, cs_id) : rb->group); } #endif @@ -3044,7 +3044,7 @@ pcb_r_insert_entry(rd->layergrouptree[rb->group], &rb->box); if (conf_core.editor.live_routing) { - pcb_layer_t *layer = LAYER_PTR(PCB->LayerGroups.grp[rb->group].lid[0]); + pcb_layer_t *layer = pcb_get_layer(PCB->Data, PCB->LayerGroups.grp[rb->group].lid[0]); pcb_line_t *line = pcb_line_new(layer, qX1, qY1, qX2, qY2, 2 * qhthick, 0, pcb_flag_make(0)); rb->livedraw_obj.line = line; @@ -4139,7 +4139,7 @@ static void ripout_livedraw_obj(routebox_t * rb) { if (rb->type == LINE && rb->livedraw_obj.line) { - pcb_layer_t *layer = LAYER_PTR(PCB->LayerGroups.grp[rb->group].lid[0]); + pcb_layer_t *layer = pcb_get_layer(PCB->Data, PCB->LayerGroups.grp[rb->group].lid[0]); pcb_line_invalidate_erase(rb->livedraw_obj.line); pcb_destroy_object(PCB->Data, PCB_OBJ_LINE, layer, rb->livedraw_obj.line, NULL); rb->livedraw_obj.line = NULL; @@ -4500,7 +4500,7 @@ assert(PCB->LayerGroups.grp[p->group].len > 0); assert(is_layer_group_active[p->group]); for (i = 0, layer = NULL; i < PCB->LayerGroups.grp[p->group].len; i++) { - layer = LAYER_PTR(PCB->LayerGroups.grp[p->group].lid[i]); + layer = pcb_get_layer(PCB->Data, PCB->LayerGroups.grp[p->group].lid[i]); if (layer->meta.real.vis) break; } @@ -4578,11 +4578,11 @@ int type = FindPin(&p->box, &pin); if (pin) { pcb_undo_add_obj_to_clear_poly(type, pin->parent.data, pin, pin, pcb_false); - pcb_poly_restore_to_poly(PCB->Data, PCB_OBJ_PSTK, LAYER_PTR(p->layer), pin); + pcb_poly_restore_to_poly(PCB->Data, PCB_OBJ_PSTK, pcb_get_layer(PCB->Data, p->layer), pin); pcb_undo_add_obj_to_flag(pin); PCB_FLAG_THERM_ASSIGN(p->layer, autoroute_therm_style, pin); pcb_undo_add_obj_to_clear_poly(type, pin->parent.data, pin, pin, pcb_true); - pcb_poly_clear_from_poly(PCB->Data, PCB_OBJ_PSTK, LAYER_PTR(p->layer), pin); + pcb_poly_clear_from_poly(PCB->Data, PCB_OBJ_PSTK, pcb_get_layer(PCB->Data, p->layer), pin); changed = pcb_true; } } Index: trunk/src_plugins/djopt/djopt.c =================================================================== --- trunk/src_plugins/djopt/djopt.c (revision 28078) +++ trunk/src_plugins/djopt/djopt.c (revision 28079) @@ -429,7 +429,7 @@ { char *from, *to; pcb_line_t *nl; - pcb_layer_t *lyr = LAYER_PTR(layer); + pcb_layer_t *lyr = pcb_get_layer(PCB->Data, layer); from = (char *) linelist_first(&lyr->Line); nl = pcb_line_new(PCB->Data->Layer + layer, x1, y1, x2, y2, thick, clear, flags); @@ -631,8 +631,8 @@ { pcb_layer_t *ls, *ld; - ls = LAYER_PTR(l->layer); - ld = LAYER_PTR(layer); + ls = pcb_get_layer(PCB->Data, l->layer); + ld = pcb_get_layer(PCB->Data, layer); pcb_move_obj_to_layer(PCB_OBJ_LINE, ls, l->line, 0, ld, 0); l->layer = layer; @@ -712,10 +712,10 @@ pcb_line_t *tl = c->lines[i]->line; if (tl) { if (c->lines[i]->s == c) { - pcb_move_obj(PCB_OBJ_LINE_POINT, LAYER_PTR(c->lines[i]->layer), tl, &tl->Point1, x - (tl->Point1.X), y - (tl->Point1.Y)); + pcb_move_obj(PCB_OBJ_LINE_POINT, pcb_get_layer(PCB->Data, c->lines[i]->layer), tl, &tl->Point1, x - (tl->Point1.X), y - (tl->Point1.Y)); } else { - pcb_move_obj(PCB_OBJ_LINE_POINT, LAYER_PTR(c->lines[i]->layer), tl, &tl->Point2, x - (tl->Point2.X), y - (tl->Point2.Y)); + pcb_move_obj(PCB_OBJ_LINE_POINT, pcb_get_layer(PCB->Data, c->lines[i]->layer), tl, &tl->Point2, x - (tl->Point2.X), y - (tl->Point2.Y)); } dprintf("Line %p moved to %#mD %#mD\n", (void *) tl, tl->Point1.X, tl->Point1.Y, tl->Point2.X, tl->Point2.Y); } @@ -807,7 +807,7 @@ add_line_to_corner(l, c); add_line_to_corner(ls, c); - pcb_move_obj(PCB_OBJ_LINE_POINT, LAYER_PTR(l->layer), l->line, &l->line->Point2, + pcb_move_obj(PCB_OBJ_LINE_POINT, pcb_get_layer(PCB->Data, l->layer), l->line, &l->line->Point2, c->x - (l->line->Point2.X), c->y - (l->line->Point2.Y)); return 1; @@ -2489,7 +2489,7 @@ } for (layn = 0; layn < pcb_max_layer; layn++) { - pcb_layer_t *layer = LAYER_PTR(layn); + pcb_layer_t *layer = pcb_get_layer(PCB->Data, layn); if (!(pcb_layer_flags(PCB, layn) & PCB_LYT_COPPER)) continue; Index: trunk/src_plugins/draw_fab/draw_fab.c =================================================================== --- trunk/src_plugins/draw_fab/draw_fab.c (revision 28078) +++ trunk/src_plugins/draw_fab/draw_fab.c (revision 28079) @@ -299,7 +299,7 @@ yoff = -TEXT_LINE; for (found = 0, i = 0; i < pcb_max_layer; i++) { - pcb_layer_t *l = LAYER_PTR(i); + pcb_layer_t *l = &PCB->Data->Layer[n]; pcb_layer_type_t flags = pcb_layer_flags(PCB, i); int purpi = pcb_layer_purpose(PCB, i, NULL); if (PCB_LAYER_IS_ROUTE(flags, purpi) && (!PCB_RTREE_EMPTY(l->line_tree) || !PCB_RTREE_EMPTY(l->arc_tree))) { Index: trunk/src_plugins/lib_hid_pcbui/act.c =================================================================== --- trunk/src_plugins/lib_hid_pcbui/act.c (revision 28078) +++ trunk/src_plugins/lib_hid_pcbui/act.c (revision 28079) @@ -237,10 +237,10 @@ /* pcb_trace("SwapSides: xy=%mm;%mm cent=%mm;%mm ofs=%mm;%mm\n", x, y, (pcb_coord_t)xcent, (pcb_coord_t)ycent, (pcb_coord_t)xoffs, (pcb_coord_t)yoffs);*/ if (pcb_layergrp_list(PCB, PCB_LYT_BOTTOM | PCB_LYT_COPPER, &solder_group, 1) > 0) - solder_on = LAYER_PTR(PCB->LayerGroups.grp[solder_group].lid[0])->meta.real.vis; + solder_on = pcb_get_layer(PCB->Data, PCB->LayerGroups.grp[solder_group].lid[0])->meta.real.vis; if (pcb_layergrp_list(PCB, PCB_LYT_TOP | PCB_LYT_COPPER, &comp_group, 1) > 0) - comp_on = LAYER_PTR(PCB->LayerGroups.grp[comp_group].lid[0])->meta.real.vis; + comp_on = pcb_get_layer(PCB->Data, PCB->LayerGroups.grp[comp_group].lid[0])->meta.real.vis; pcb_draw_inhibit_inc(); if (argc > 1) {