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

}
		if (p_click.y >= rect.position.y && p_click.y <= rect.position.y + rect.size.y) {
			if ((!rtl && p_click.x >= rect.position.x) || (rtl && p_click.x <= rect.position.x + rect.size.x)) {
				if (p_meta) {
					int64_t glyph_idx = TS->shaped_text_hit_test_grapheme(rid, p_click.x - rect.position.x);
					if (glyph_idx >= 0) {
						const Glyph *glyphs = TS->shaped_text_get_glyphs(rid);
						char_pos = glyphs[glyph_idx].start;
					}
				} else {
					char_pos = TS->shaped_text_hit_test_position(rid, p_click.x - rect.position.x);
					char_pos = TS->shaped_text_closest_character_pos(rid, char_pos);
				}
			}
			line_clicked = true;
			text_rect_begin = rtl ? rect.position.x + rect.size.x : rect.position.x;
		}
		
		if (table_hit && (((char_pos + p_frame->lines[p_line].char_offset) >= table_range.x && (char_pos + p_frame->lines[p_line].char_offset) <= table_range.y) || char_pos == -1)) {
			if (r_click_frame != nullptr) {
				*r_click_frame = table_click_frame;
			}
			if (r_click_line != nullptr) {
				*r_click_line = table_click_line;
			}
			if (r_click_item != nullptr) {
				*r_click_item = table_click_item;
			}
			if (r_click_char != nullptr) {
				*r_click_char = table_click_char;