billiob pushed a commit to branch master. http://git.enlightenment.org/apps/terminology.git/commit/?id=e6b78bd4064a4e0751b70f058a5d513b3377d3e6
commit e6b78bd4064a4e0751b70f058a5d513b3377d3e6 Author: Boris Faure <[email protected]> Date: Sun Nov 24 00:11:00 2019 +0100 backlog: take the size of backlog into account --- src/bin/backlog.c | 13 +++++-------- 1 file changed, 5 insertions(+), 8 deletions(-) diff --git a/src/bin/backlog.c b/src/bin/backlog.c index b387b85..62669b9 100644 --- a/src/bin/backlog.c +++ b/src/bin/backlog.c @@ -113,6 +113,7 @@ termpty_backlog_free(Termpty *ty) for (i = 0; i < ty->backsize; i++) termpty_save_free(ty, &ty->back[i]); + _accounting_change(-1 * sizeof(Termsave) * ty->backsize); free(ty->back); ty->back = NULL; } @@ -171,16 +172,12 @@ termpty_backlog_size_set(Termpty *ty, size_t size) /* TODO: RESIZE: handle that case better: changing backscroll size */ termpty_backlog_lock(); - if (ty->back) + termpty_backlog_free(ty); + if (size > 0) { - size_t i; - - for (i = 0; i < ty->backsize; i++) - termpty_save_free(ty, &ty->back[i]); - free(ty->back); + ty->back = calloc(1, sizeof(Termsave) * size); + _accounting_change(sizeof(Termsave) * size); } - if (size > 0) - ty->back = calloc(1, sizeof(Termsave) * size); else ty->back = NULL; ty->backpos = 0; --
