diff options
-rw-r--r-- | main.c | 2 | ||||
-rw-r--r-- | node.c | 3 |
2 files changed, 3 insertions, 2 deletions
@@ -1,7 +1,7 @@ // @TODO: -// - fix: after closing last tab in active node, there should be a new active node // - Windows installation // - test on BSD +// - .deb file // - completion @@ -105,6 +105,7 @@ static void node_close(Ted *ted, u16 node_idx) { ted->nodes_used[node_idx] = false; Node *node = &ted->nodes[node_idx]; + bool was_active = ted->active_node == node; // delete all associated buffers arr_foreach_ptr(node->tabs, u16, tab) { @@ -132,7 +133,7 @@ static void node_close(Ted *ted, u16 node_idx) { *parent = ted->nodes[other_side]; ted->nodes_used[other_side] = false; - if (ted->active_node == node) { + if (was_active) { Node *new_active_node = parent; // make sure we don't set the active node to a split while (!new_active_node->tabs) |