Index: work/gtk/layersel/layersel.c =================================================================== --- work/gtk/layersel/layersel.c (revision 8515) +++ work/gtk/layersel/layersel.c (revision 8516) @@ -123,24 +123,24 @@ /* install layers */ for(n = 0; n < 4; n++) { - lsg->layer[n] = gtkc_hbox_new(0, 0); - gtk_box_pack_start(GTK_BOX(grp_layers), lsg->layer[n], FALSE, FALSE, 0); + lsg->layer[n].box = gtkc_hbox_new(0, 0); + gtk_box_pack_start(GTK_BOX(grp_layers), lsg->layer[n].box, FALSE, FALSE, 0); sprintf(tmp, "layer %d", n); /* sensitive layer visibility widgets */ vis_box = gtkc_hbox_new(0, 0); - lsg->vis_on[n] = layer_vis_box(1, "#ff0000"); - gtk_box_pack_start(GTK_BOX(vis_box), lsg->vis_on[n], FALSE, FALSE, 0); - lsg->vis_off[n] = layer_vis_box(0, "#ff0000"); - gtk_box_pack_start(GTK_BOX(vis_box), lsg->vis_off[n], FALSE, FALSE, 0); + lsg->layer[n].vis_on = layer_vis_box(1, "#ff0000"); + gtk_box_pack_start(GTK_BOX(vis_box), lsg->layer[n].vis_on, FALSE, FALSE, 0); + lsg->layer[n].vis_off = layer_vis_box(0, "#ff0000"); + gtk_box_pack_start(GTK_BOX(vis_box), lsg->layer[n].vis_off, FALSE, FALSE, 0); vis_ebox = wrap_bind_click(vis_box, G_CALLBACK(group_button_press_cb), NULL); - gtk_box_pack_start(GTK_BOX(lsg->layer[n]), vis_ebox, FALSE, FALSE, 0); + gtk_box_pack_start(GTK_BOX(lsg->layer[n].box), vis_ebox, FALSE, FALSE, 0); - gtk_box_pack_start(GTK_BOX(lsg->layer[n]), gtk_label_new(tmp), FALSE, FALSE, 10); + gtk_box_pack_start(GTK_BOX(lsg->layer[n].box), gtk_label_new(tmp), FALSE, FALSE, 10); spring = gtkc_hbox_new(FALSE, 0); - gtk_box_pack_start(GTK_BOX(lsg->layer[n]), spring, TRUE, TRUE, 0); + gtk_box_pack_start(GTK_BOX(lsg->layer[n].box), spring, TRUE, TRUE, 0); } /* Make sure gtk_show_all() won't mess with our hardwired hide/show */ Index: work/gtk/layersel/layersel.h =================================================================== --- work/gtk/layersel/layersel.h (revision 8515) +++ work/gtk/layersel/layersel.h (revision 8516) @@ -3,10 +3,14 @@ #include +typedef struct layersel_layer_s { + GtkWidget *box, *vis_on, *vis_off; +} layersel_layer_t; + typedef struct layersel_grp_s { GtkWidget *grp_row, *grp_closed, *grp_open; - - GtkWidget *layer[4], *vis_on[4], *vis_off[4]; + + layersel_layer_t layer[4]; } layersel_grp_t;