diff --git a/renderdocui/Windows/BufferViewer.cs b/renderdocui/Windows/BufferViewer.cs index 7ee26dcbf..4d0866d83 100644 --- a/renderdocui/Windows/BufferViewer.cs +++ b/renderdocui/Windows/BufferViewer.cs @@ -2539,7 +2539,15 @@ namespace renderdocui.Windows strm.Flush(); strm.Position = 0; - dockPanel.LoadFromXml(strm, new DeserializeDockContent(GetContentFromPersistString)); + try + { + dockPanel.LoadFromXml(strm, new DeserializeDockContent(GetContentFromPersistString)); + } + catch (System.Exception) + { + // on error, go back to default layout + UI_SetupDocks(MeshView); + } } onloadLayout = ""; diff --git a/renderdocui/Windows/TextureViewer.cs b/renderdocui/Windows/TextureViewer.cs index 575e21e1b..77db5bbd0 100644 --- a/renderdocui/Windows/TextureViewer.cs +++ b/renderdocui/Windows/TextureViewer.cs @@ -613,7 +613,15 @@ namespace renderdocui.Windows strm.Flush(); strm.Position = 0; - dockPanel.LoadFromXml(strm, new DeserializeDockContent(GetContentFromPersistString)); + try + { + dockPanel.LoadFromXml(strm, new DeserializeDockContent(GetContentFromPersistString)); + } + catch (System.Exception) + { + // on error, go back to default layout + UI_SetupDocks(); + } } onloadLayout = "";