diff --git a/Dalamud/Interface/ImGuiHelpers.cs b/Dalamud/Interface/ImGuiHelpers.cs
index 90a400d52..57ff6e405 100644
--- a/Dalamud/Interface/ImGuiHelpers.cs
+++ b/Dalamud/Interface/ImGuiHelpers.cs
@@ -7,9 +7,23 @@ namespace Dalamud.Interface
///
public static class ImGuiHelpers
{
+ private static uint mainViewportId;
+
///
/// Force this ImGui window to stay inside the main game window.
///
- public static void ForceMainWindow() => ImGui.SetNextWindowViewport(ImGui.GetMainViewport().ID);
+ public static void ForceMainWindow() => ImGui.SetNextWindowViewport(GetMainViewportId());
+
+ ///
+ /// Get the ID of the main game window viewport.
+ ///
+ /// The ID of the main game window viewport.
+ public static uint GetMainViewportId()
+ {
+ if (mainViewportId == 0)
+ mainViewportId = ImGui.GetMainViewport().ID;
+
+ return mainViewportId;
+ }
}
}