Index: trunk/src/layer_ui.c =================================================================== --- trunk/src/layer_ui.c (revision 18345) +++ trunk/src/layer_ui.c (revision 18346) @@ -34,11 +34,8 @@ #include "event.h" #include "compat_misc.h" #include "genvector/vtp0.h" -#define GVT_DONT_UNDEF #include "layer_ui.h" -#include -vtlayer_t pcb_uilayer; vtp0_t pcb_uilayers; @@ -54,13 +51,13 @@ for(n = 0; n < vtp0_len(&pcb_uilayers); n++) { l = pcb_uilayers.array[n]; if (l == NULL) { - l = vtlayer_alloc_append(&pcb_uilayer, 1); + l = calloc(sizeof(pcb_layer_t), 1); pcb_uilayers.array[n] = l; goto found; } } - l = vtlayer_alloc_append(&pcb_uilayer, 1); + l = calloc(sizeof(pcb_layer_t), 1); p = vtp0_alloc_append(&pcb_uilayers, 1); *p = l; found:; @@ -108,16 +105,12 @@ void pcb_uilayer_uninit(void) { - vtlayer_uninit(&pcb_uilayer); vtp0_uninit(&pcb_uilayers); } pcb_layer_t *pcb_uilayer_get(long ui_ly_id) { - void **p; -#warning TODO: switch to unique IDs - - p = vtp0_get(&pcb_uilayers, (ui_ly_id & (PCB_LYT_UI-1)), 0); + void **p = vtp0_get(&pcb_uilayers, (ui_ly_id & (PCB_LYT_UI-1)), 0); if (p == NULL) return NULL; return (pcb_layer_t *)(*p); Index: trunk/src/layer_ui.h =================================================================== --- trunk/src/layer_ui.h (revision 18345) +++ trunk/src/layer_ui.h (revision 18346) @@ -32,29 +32,13 @@ #define PCB_LAYER_UI_H /* Virtual layers for UI and debug */ -#include "layer.h" +#include "global_typedefs.h" #include "genvector/vtp0.h" + +/* list of all UI layers - each item is a persistent pointer to a layer struct */ extern vtp0_t pcb_uilayers; - -/* layer vector: Elem=pcb_layer_t *; init=0 */ -#define GVT(x) vtlayer_ ## x -#define GVT_ELEM_TYPE pcb_layer_t -#define GVT_SIZE_TYPE size_t -#define GVT_DOUBLING_THRS 64 -#define GVT_START_SIZE 64 -#define GVT_FUNC -#define GVT_SET_NEW_BYTES_TO 0 -#include -#define GVT_REALLOC(vect, ptr, size) realloc(ptr, size) -#define GVT_FREE(vect, ptr) free(ptr) -#include - -/* list of all UI layers */ -extern vtlayer_t pcb_uilayer; - - pcb_layer_t *pcb_uilayer_alloc(const char *cookie, const char *name, const char *color); void pcb_uilayer_free(pcb_layer_t *l); void pcb_uilayer_free_all_cookie(const char *cookie);