### Godot version

4.0 Beta 10

### System information

Windows 10

### Issue description

when picking tiles from a gridmap and you have a search filter applied, it often doesn't do anything, instead I get an index out of bounds error in the console
`scene/gui/item_list.cpp:424 - Index p_current = 8 is out of bounds (items.size() = 4).`

### Steps to reproduce

1. Open a project using a gridmap like the platformer demo, or create one.
2. Search for specific tiles inside the tile selection.
3. Try to pick a tile inside the 3D viewport with that you want to paint (maybe you don't want to reset the filter and do a long search there)

In some cases it works, but mostly it doesn't work (depending on the tile you picked and what you searched for)
Also I am not sure, but I have the feeling that in a few cases it picks the wrong tile, instead of throwing an error

### Minimal reproduction project

Any project that uses a gridmap, for example the platformer demo from the demo projects repo
if (p_visible) {
		grid_map_editor->show();
		grid_map_editor->spatial_editor_hb->show();
		grid_map_editor->set_process(true);
	} else {
		grid_map_editor->spatial_editor_hb->hide();
		grid_map_editor->hide();
		grid_map_editor->set_process(false);
	}
}
GridMapEditorPlugin::GridMapEditorPlugin() {
	EDITOR_DEF("editors/grid_map/editor_side", 1);
	EditorSettings::get_singleton()->add_property_hint(PropertyInfo(Variant::INT, "editors/grid_map/editor_side", PROPERTY_HINT_ENUM, "Left,Right"));
	grid_map_editor = memnew(GridMapEditor);
	switch ((int)EDITOR_GET("editors/grid_map/editor_side")) {
		case 0: { 
			Node3DEditor::get_singleton()->add_control_to_left_panel(grid_map_editor);
		} break;
		case 1: { 
			Node3DEditor::get_singleton()->add_control_to_right_panel(grid_map_editor);
		} break;
	}
	grid_map_editor->hide();
}
GridMapEditorPlugin::~GridMapEditorPlugin() {
}
#endif