pool_release: always reset gcluster #980

This commit is contained in:
nick black 2020-08-31 17:14:27 -04:00
parent 857e22562c
commit d2666a8584
No known key found for this signature in database
GPG Key ID: 5F43400C21CBFACC
2 changed files with 2 additions and 2 deletions

View File

@ -590,8 +590,8 @@ static inline void
pool_release(egcpool* pool, cell* c){
if(!cell_simple_p(c)){
egcpool_release(pool, cell_egc_idx(c));
c->gcluster = 0; // don't subject ourselves to double-release problems
}
c->gcluster = 0; // don't subject ourselves to double-release problems
}
// set the cell 'c' to point into the egcpool at location 'eoffset'

View File

@ -1388,7 +1388,7 @@ ncplane_put(ncplane* n, int y, int x, const char* egc, int cols,
if(cell_load_direct(n, targ, egc, bytes, cols) < 0){
return -1;
}
//fprintf(stderr, "%08x %d %d\n", targ->gcluster, bytes, cols);
//fprintf(stderr, "%08x %016lx %c %d %d\n", targ->gcluster, targ->channels, cell_double_wide_p(targ) ? 'D' : 'd', bytes, cols);
if(cols > 1){ // must set our right wide, and check for further damage
cell* candidate = &n->fb[nfbcellidx(n, n->y, n->x + 1)];
if(cell_wide_left_p(candidate)){