Index: trunk/src_plugins/gui/layersel.c =================================================================== --- trunk/src_plugins/gui/layersel.c (revision 777) +++ trunk/src_plugins/gui/layersel.c (revision 778) @@ -253,7 +253,7 @@ return; lys = (ls_layer_t **)vtp0_get(&ls->layers, ls->camv->lysel, 0); - if (lys != NULL) + if ((lys != NULL) && (*lys != NULL)) rnd_gui->attr_dlg_widget_state(ls->sub.dlg_hid_ctx, (*lys)->wlab, 1); camv_layer_select(ls->camv, -1); @@ -391,10 +391,17 @@ camv_layer_t *ly = camv->layers.array[n]; ls_layer_t *lys, **lysp; + lysp = (ls_layer_t **)vtp0_get(&ls->layers, n, 1); + #ifndef LAYERSEL_DEBUG - if (ly->sub) continue; + if (ly->sub) { + if ((lysp != NULL) && (*lysp != NULL)) { + free(*lysp); + *lysp = NULL; + } + continue; + } #endif - lysp = (ls_layer_t **)vtp0_get(&ls->layers, n, 1); if (*lysp == NULL) *lysp = calloc(sizeof(ls_layer_t), 1); lys = *lysp;