diff --git a/Dalamud/Interface/Internal/InterfaceManager.cs b/Dalamud/Interface/Internal/InterfaceManager.cs index 6bb45b325..d53a29f25 100644 --- a/Dalamud/Interface/Internal/InterfaceManager.cs +++ b/Dalamud/Interface/Internal/InterfaceManager.cs @@ -609,12 +609,19 @@ internal class InterfaceManager : IDisposable, IServiceType var pRes = this.presentHook.Original(swapChain, syncInterval, presentFlags); this.RenderImGui(); + this.DisposeTextures(); return pRes; } this.RenderImGui(); + this.DisposeTextures(); + return this.presentHook.Original(swapChain, syncInterval, presentFlags); + } + + private void DisposeTextures() + { if (this.deferredDisposeTextures.Count > 0) { Log.Verbose("[IM] Disposing {Count} textures", this.deferredDisposeTextures.Count); @@ -625,8 +632,6 @@ internal class InterfaceManager : IDisposable, IServiceType this.deferredDisposeTextures.Clear(); } - - return this.presentHook.Original(swapChain, syncInterval, presentFlags); } [MethodImpl(MethodImplOptions.AggressiveInlining)]