junie-undo
This commit is contained in:
22
buffer.c
22
buffer.c
@@ -271,7 +271,9 @@ buffer_add_empty(void)
|
||||
buf->dirty = 0;
|
||||
buf->mark_set = 0;
|
||||
buf->mark_curx = 0;
|
||||
buf->mark_cury = 0;
|
||||
buf->mark_cury = 0;
|
||||
/* initialize undo tree for this buffer */
|
||||
undo_tree_init(&buf->undo);
|
||||
|
||||
editor.buffers[editor.bufcount] = buf;
|
||||
idx = (int)editor.bufcount;
|
||||
@@ -397,14 +399,16 @@ buffer_close_current(void)
|
||||
buffer_switch(nb);
|
||||
}
|
||||
|
||||
b = editor.buffers[closing];
|
||||
if (b) {
|
||||
if (b->row) {
|
||||
for (size_t i = 0; i < b->nrows; i++) {
|
||||
ab_free(&b->row[i]);
|
||||
}
|
||||
free(b->row);
|
||||
}
|
||||
b = editor.buffers[closing];
|
||||
if (b) {
|
||||
/* free undo tree resources before freeing buffer */
|
||||
undo_tree_free(&b->undo);
|
||||
if (b->row) {
|
||||
for (size_t i = 0; i < b->nrows; i++) {
|
||||
ab_free(&b->row[i]);
|
||||
}
|
||||
free(b->row);
|
||||
}
|
||||
|
||||
if (b->filename) {
|
||||
free(b->filename);
|
||||
|
||||
Reference in New Issue
Block a user