### 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)

if (pos.x < w) {
					r_column = i;
					return p_item;
				}
				pos.x -= w;
			}
			return nullptr;
		} else {
			pos.y -= h;
		}
	} else {
		h = 0;
	}
	if (p_item->is_collapsed() || !p_item->is_visible()) {
		return nullptr; 
	}
	TreeItem *n = p_item->get_first_child();
	while (n) {
		int ch;
		TreeItem *r = _find_item_at_pos(n, pos, r_column, ch, section);
		pos.y -= ch;
		h += ch;
		if (r) {
			return r;
		}
		n = n->get_next();
	}
	return nullptr;
}
int Tree::get_column_at_position(const Point2 &p_pos) const {