Inside DockLayoutAdapter, GetShowAction, the action should not return anything if the docktree is not visible. This must then be not added to the show action list.
if ((dockTree.IsFloating) && (!dockTree.IsVisible)){
return null;
}
Otherwise it will try and load a hidden floating window, and will raise exception when loading the layout.