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

}
		click_handled = false;
		Ref<InputEventMouseButton> mb;
		mb.instantiate();
		int x_limit = get_size().width - theme_cache.panel_style->get_minimum_size().width;
		if (v_scroll->is_visible()) {
			x_limit -= v_scroll->get_minimum_size().width;
		}
		cache.rtl = is_layout_rtl();
		propagate_mouse_activated = false; 
		blocked++;
		propagate_mouse_event(pos + theme_cache.offset, 0, 0, x_limit + theme_cache.offset.width, false, root, MouseButton::LEFT, mb);
		blocked--;
		if (range_click_timer->is_one_shot()) {
			range_click_timer->set_wait_time(0.05);
			range_click_timer->set_one_shot(false);
			range_click_timer->start();
		}
		if (!click_handled) {
			range_click_timer->stop();
		}
		if (propagate_mouse_activated) {
			emit_signal(SNAME("item_activated"));
			propagate_mouse_activated = false;
		}
	} else {
		range_click_timer->stop();
	}
}
int Tree::propagate_mouse_event(const Point2i &p_pos, int x_ofs, int y_ofs, int x_limit, bool p_double_click, TreeItem *p_item, MouseButton p_button, const Ref<InputEventWithModifiers> &p_mod) {