### Godot version

v4.1.stable.official [970459615]

### System information

Godot v4.1.stable - Windows 10.0.22621 - Vulkan (Forward+) - dedicated NVIDIA GeForce MX330 (NVIDIA; 30.0.15.1169) - 11th Gen Intel(R) Core(TM) i5-1135G7 @ 2.40GHz (8 Threads)

### Issue description

Calling `RichTextLabel`'s `select_all` method has no visual indicator, but it must have one. 

### Steps to reproduce

- Add `RichTextLabel` node
- Set `selection_enabled` value to be `true`
- Call `$RichTextLabel.select_all() `method in `_ready`

### Minimal reproduction project

[RichTextLabel_bug.zip](https://github.com/godotengine/godot/files/12098913/RichTextLabel_bug.zip)

_stop_thread();
	MutexLock data_lock(data_mutex);
	ERR_FAIL_COND(current->type == ITEM_TABLE);
	ItemUnderline *item = memnew(ItemUnderline);
	_add_item(item, true);
}
void RichTextLabel::push_strikethrough() {
	_stop_thread();
	MutexLock data_lock(data_mutex);
	ERR_FAIL_COND(current->type == ITEM_TABLE);
	ItemStrikethrough *item = memnew(ItemStrikethrough);
	_add_item(item, true);
}
void RichTextLabel::push_paragraph(HorizontalAlignment p_alignment, Control::TextDirection p_direction, const String &p_language, TextServer::StructuredTextParser p_st_parser, BitField<TextServer::JustificationFlag> p_jst_flags, const PackedFloat32Array &p_tab_stops) {
	_stop_thread();
	MutexLock data_lock(data_mutex);
	ERR_FAIL_COND(current->type == ITEM_TABLE);
	ItemParagraph *item = memnew(ItemParagraph);
	item->alignment = p_alignment;
	item->direction = p_direction;
	item->language = p_language;
	item->st_parser = p_st_parser;
	item->jst_flags = p_jst_flags;
	item->tab_stops = p_tab_stops;
	_add_item(item, true, true);
}
void RichTextLabel::push_indent(int p_level) {