### Godot version

4.0beta10

### System information

macOS 13.0.1

### Issue description

If you expand a shader resource in the inspector panel this automatically opens the Shader Editor tab in the bottom panel. However, there seems to be a bug with the Animation tab that somehow triggers this again when the animation tab is opened (maybe it refreshes the inspector?), resulting in the Shader Editor immediately being opened again. So, if you have a shader resource expended in the inspector you can't open the Animation tab to edit animations. If you just collapse the shader resource again it works as expected.

https://user-images.githubusercontent.com/17763524/209969815-adb9cd73-1cd7-4756-9af2-9042ccec9442.mov

I tried this in 4.0 beta 8 as well, and interestingly it had the same problem but also another bug/hack that caused the expanded shader resource to be collapsed when it switched back to the Shader Editor. So if you clicked the Animation tab a second time you could now switch to it.

### Steps to reproduce

Create new scene (2d or 3d)
Add an AnimationPlayer to the scene so there's something in the Animation tab
Open the animation tab with the Animation player selected
Create something (2d or 3d) that has a material
Assign a new shader material
Create a new shader for the material
Expand the material and shader resources in the inspector
Notice that this opens the shader editor in the bottom
Now try to open the animation tab, notice it will switch back to the shader editor tab immediately

### Minimal reproduction project

[animation_tab_test.zip](https://www.lostminds.com/godot/animation_tab_test.zip)
void _dock_select_draw();
	void _dock_pre_popup(int p_which);
	void _dock_split_dragged(int ofs);
	void _dock_popup_exit();
	void _dock_floating_close_request(Control *p_control);
	void _dock_make_float();
	void _scene_tab_changed(int p_tab);
	void _scene_tab_closed(int p_tab, int option = SCENE_TAB_CLOSE);
	void _scene_tab_hovered(int p_tab);
	void _scene_tab_exit();
	void _scene_tab_input(const Ref<InputEvent> &p_input);
	void _reposition_active_tab(int idx_to);
	void _thumbnail_done(const String &p_path, const Ref<Texture2D> &p_preview, const Ref<Texture2D> &p_small_preview, const Variant &p_udata);
	void _scene_tab_script_edited(int p_tab);
	Dictionary _get_main_scene_state();
	void _set_main_scene_state(Dictionary p_state, Node *p_for_scene);
	int _get_current_main_editor();
	void _save_docks();
	void _load_docks();
	void _save_docks_to_config(Ref<ConfigFile> p_layout, const String &p_section);
	void _load_docks_from_config(Ref<ConfigFile> p_layout, const String &p_section);
	void _update_dock_slots_visibility(bool p_keep_selected_tabs = false);
	void _dock_tab_changed(int p_tab);
	void _save_open_scenes_to_config(Ref<ConfigFile> p_layout, const String &p_section);
	void _load_open_scenes_from_config(Ref<ConfigFile> p_layout, const String &p_section);
	void _update_layouts_menu();
	void _layout_menu_option(int p_id);
	void _update_addon_config();
	void _toggle_distraction_free_mode();
	void _inherit_imported(const String &p_action);