Repository: godotengine/godot (language: cpp)

Issue:
Bottom FileSystem dock does not save layout options
### Tested versions

- Reproducible in: 4.4.beta1.mono to 4.4.rc1.mono
- Not reproducible in: 4.4.dev7.mono and earlier

### System information

Godot v4.4.rc1.mono - macOS Sequoia (15.3.1) - Multi-window, 1 monitor - Metal (Forward+) - integrated Apple M2 Max (Apple8) - Apple M2 Max (12 threads)

### Issue description

The bottom panel FileSystem dock does not save layout options (Split Mode, View items as list/thumbnails). Reopening the editor causes these layout options to be reset.
This issue exists only when the FileSystem dock is placed at the bottom panel, and does not exist when it is placed in any of the 8 slots on the side.

### Steps to reproduce

https://github.com/user-attachments/assets/b135bbb2-69f4-45ee-9ada-6a11bcfeb299

1. Open any project.
2. Move the FileSystem dock to the bottom panel.
3. In the FileSystem dock, change Split Mode to top/bottom, and set View items as a list.
4. Close Godot and reopen the project.
5. Notice the FileSystem dock layout gets reset.

### Minimal reproduction project (MRP)

N/A


Discussion / hints:
Reverting #100558 seems to fix the issue, CC @KoBeWi 

Fix patch:
diff --git a/editor/editor_dock_manager.cpp b/editor/editor_dock_manager.cpp
index 51c15f3db911..32269f91a109 100644
--- a/editor/editor_dock_manager.cpp
+++ b/editor/editor_dock_manager.cpp
@@ -547,10 +547,10 @@ void EditorDockManager::load_docks_from_config(Ref<ConfigFile> p_layout, const S
 				continue;
 			}
 			Control *dock = dock_map[name];
-			dock->call(SNAME("_load_layout_from_config"), p_layout, p_section);
 
 			if (!all_docks[dock].enabled) {
 				// Don't open disabled docks.
+				dock->call(SNAME("_load_layout_from_config"), p_layout, p_section);
 				continue;
 			}
 			bool at_bottom = false;
@@ -563,6 +563,7 @@ void EditorDockManager::load_docks_from_config(Ref<ConfigFile> p_layout, const S
 			} else if (i >= 0) {
 				_move_dock(dock, dock_slot[i], 0);
 			}
+			dock->call(SNAME("_load_layout_from_config"), p_layout, p_section);
 
 			if (closed_docks.has(name)) {
 				_move_dock(dock, closed_dock_parent);


Test patch: