Merge pull request #1410 from Haselnussbomber/catch-draw-exception

This commit is contained in:
goat 2023-09-21 19:37:34 +02:00 committed by GitHub
commit 035ee008cf
No known key found for this signature in database
GPG key ID: 4AEE18F83AFDEB23

View file

@ -1,7 +1,9 @@
using System;
using System.Numerics;
using Dalamud.Configuration.Internal;
using Dalamud.Game.ClientState.Keys;
using Dalamud.Logging.Internal;
using FFXIVClientStructs.FFXIV.Client.UI;
using ImGuiNET;
@ -12,6 +14,8 @@ namespace Dalamud.Interface.Windowing;
/// </summary>
public abstract class Window
{
private static readonly ModuleLog Log = new("WindowSystem");
private static bool wasEscPressedLastFrame = false;
private bool internalLastIsOpen = false;
@ -284,7 +288,14 @@ public abstract class Window
if (this.ShowCloseButton ? ImGui.Begin(this.WindowName, ref this.internalIsOpen, this.Flags) : ImGui.Begin(this.WindowName, this.Flags))
{
// Draw the actual window contents
this.Draw();
try
{
this.Draw();
}
catch (Exception ex)
{
Log.Error(ex, $"Error during Draw(): {this.WindowName}");
}
}
if (wasFocused)