### Godot version

4.1.1.stable

### System information

Godot v4.1.1.stable - Windows 10.0.19045 - Vulkan (Mobile) - dedicated NVIDIA GeForce RTX 2070 SUPER (NVIDIA; 30.0.15.1295) - Intel(R) Core(TM) i5-8400 CPU @ 2.80GHz (6 Threads)

### Issue description

When undocking the script editor so that it's floating, CollisionShape3D Shape Size handles stop working.

If they were visible on a Shape, they remain visible on that shape and still work for that shape; but they will not appear on any other collision object when selecting it.

If you launch the editor with the Script panel already in a floating state, no shape handles ever become visible.

If you dock the Script editor again, everything goes back to normal and works fine.

### Steps to reproduce

Create a 3D scene with some collision shapes.
Undock the Script editor

### Minimal reproduction project

N/A
menu_hb->add_child(help_search);
	help_search->set_tooltip_text(TTR("Search the reference documentation."));
	menu_hb->add_child(memnew(VSeparator));
	script_back = memnew(Button);
	script_back->set_flat(true);
	script_back->connect("pressed", callable_mp(this, &ScriptEditor::_history_back));
	menu_hb->add_child(script_back);
	script_back->set_disabled(true);
	script_back->set_tooltip_text(TTR("Go to previous edited document."));
	script_forward = memnew(Button);
	script_forward->set_flat(true);
	script_forward->connect("pressed", callable_mp(this, &ScriptEditor::_history_forward));
	menu_hb->add_child(script_forward);
	script_forward->set_disabled(true);
	script_forward->set_tooltip_text(TTR("Go to next edited document."));
	if (p_wrapper->is_window_available()) {
		menu_hb->add_child(memnew(VSeparator));
		make_floating = memnew(ScreenSelect);
		make_floating->set_flat(true);
		make_floating->set_tooltip_text(TTR("Make the script editor floating."));
		make_floating->connect("request_open_in_screen", callable_mp(window_wrapper, &WindowWrapper::enable_window_on_screen).bind(true));
		menu_hb->add_child(make_floating);
		p_wrapper->connect("window_visibility_changed", callable_mp(this, &ScriptEditor::_window_changed));
	}
	tab_container->connect("tab_changed", callable_mp(this, &ScriptEditor::_tab_changed));
	erase_tab_confirm = memnew(ConfirmationDialog);
	erase_tab_confirm->set_ok_button_text(TTR("Save"));
	erase_tab_confirm->add_button(TTR("Discard"), DisplayServer::get_singleton()->get_swap_cancel_ok(), "discard");
	erase_tab_confirm->connect("confirmed", callable_mp(this, &ScriptEditor::_close_current_tab).bind(true));
	erase_tab_confirm->connect("custom_action", callable_mp(this, &ScriptEditor::_close_discard_current_tab));