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; + } } }