### Godot version

4.2 Stable

### System information

Linux

### Issue description

Calling TreeItem set_text() on a TreeItem that was removed via remove_child() causes debugging to end and the application to close without any error message.

### Steps to reproduce

Run the included example to get the debugger to crash. Comment out "treeItem.remove_child(subTreeItem)" for normal behaviour. 

### Minimal reproduction project

[treeItemCrash.zip](https://github.com/godotengine/godot/files/13534005/treeItemCrash.zip)

TreeItem *next = nullptr;
	if (!selected_item) {
		if (root) {
			next = hide_root ? root->get_next_visible() : root;
		}
	} else {
		next = selected_item->get_next_visible();
	}
	if (select_mode == SELECT_MULTI) {
		if (!next) {
			return;
		}
		selected_item = next;
		emit_signal(SNAME("cell_selected"));
		queue_redraw();
	} else {
		int col = selected_col < 0 ? 0 : selected_col;
		while (next && !next->cells[col].selectable) {
			next = next->get_next_visible();
		}
		if (!next) {
			return; 
		}
		next->select(col);
	}
	ensure_cursor_is_visible();
	accept_event();
}
bool Tree::_scroll(bool p_horizontal, float p_pages) {