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