diff --git a/Dalamud/Interface/Internal/InterfaceManager.cs b/Dalamud/Interface/Internal/InterfaceManager.cs
index 841511f55..f46c7272d 100644
--- a/Dalamud/Interface/Internal/InterfaceManager.cs
+++ b/Dalamud/Interface/Internal/InterfaceManager.cs
@@ -325,7 +325,7 @@ internal class InterfaceManager : IDisposable, IServiceType
/// The height in pixels.
/// Format of the texture.
/// A texture, ready to use in ImGui.
- public TextureWrap LoadImageFromDxgiFormat(Span data, int pitch, int width, int height, Format dxgiFormat)
+ public IDalamudTextureWrap LoadImageFromDxgiFormat(Span data, int pitch, int width, int height, Format dxgiFormat)
{
if (this.scene == null)
throw new InvalidOperationException("Scene isn't ready.");
@@ -360,7 +360,7 @@ internal class InterfaceManager : IDisposable, IServiceType
}
// no sampler for now because the ImGui implementation we copied doesn't allow for changing it
- return new D3DTextureWrap(resView, width, height);
+ return new DalamudTextureWrap(new D3DTextureWrap(resView, width, height));
}
#nullable restore
diff --git a/Dalamud/Interface/Internal/TextureManager.cs b/Dalamud/Interface/Internal/TextureManager.cs
index 4b2f1f362..a7c5a005e 100644
--- a/Dalamud/Interface/Internal/TextureManager.cs
+++ b/Dalamud/Interface/Internal/TextureManager.cs
@@ -209,7 +209,7 @@ internal class TextureManager : IDisposable, IServiceType, ITextureSubstitutionP
throw new InvalidOperationException("Cannot create textures before scene is ready");
#pragma warning disable CS0618
- return this.dataManager.GetImGuiTexture(file) as IDalamudTextureWrap;
+ return (IDalamudTextureWrap)this.dataManager.GetImGuiTexture(file);
#pragma warning restore CS0618
}
@@ -332,6 +332,10 @@ internal class TextureManager : IDisposable, IServiceType, ITextureSubstitutionP
// and we can't do anything about it. Return a dummy texture so that the plugin still
// has something to draw.
wrap = this.fallbackTextureWrap;
+
+ // Prevent divide-by-zero
+ if (info.Extents == Vector2.Zero)
+ info.Extents = Vector2.One;
}
info.Wrap = wrap;