### Godot version

Latest 4.0.dev (a3a42159e31db27f8ae7c1ecad6a9ed417cb05de)

### System information

Ubuntu 22.04.1 LTS

### Issue description

Ctrl+Shift+F (Find in Files) in the text editor, for example, causes my laptop to freeze consistently. I also reproduced it with F1 and Ctrl+Shift+R, as well as by using the dropdown instead of shortcuts.

### Steps to reproduce

Trivial

### Minimal reproduction project

N/A
::XIMPreeditDrawCallbackStruct *call_data) {
	DisplayServerX11 *ds = reinterpret_cast<DisplayServerX11 *>(client_data);
	WindowID window_id = ds->_get_focused_window_or_popup();
	WindowData &wd = ds->windows[window_id];
	XIMText *xim_text = call_data->text;
	if (xim_text != nullptr) {
		String changed_text;
		if (xim_text->encoding_is_wchar) {
			changed_text = String(xim_text->string.wide_char);
		} else {
			changed_text.parse_utf8(xim_text->string.multi_byte);
		}
		if (call_data->chg_length < 0) {
			ds->im_text = ds->im_text.substr(0, call_data->chg_first) + changed_text;
		} else {
			ds->im_text = ds->im_text.substr(0, call_data->chg_first) + changed_text + ds->im_text.substr(call_data->chg_length);
		}
		
		int start = 0, count = 0;
		for (int i = 0; i < xim_text->length; i++) {
			if (xim_text->feedback[i] & XIMReverse) {
				if (count == 0) {
					start = i;
					count = 1;
				} else {