From 0d66c7fd75163b7084d1ad8bb94a0dbec801bb9d Mon Sep 17 00:00:00 2001 From: Soreepeong Date: Sun, 21 Jul 2024 15:34:29 +0900 Subject: [PATCH] Fix load order --- Dalamud/Interface/Internal/InterfaceManager.cs | 7 ++++--- 1 file changed, 4 insertions(+), 3 deletions(-) diff --git a/Dalamud/Interface/Internal/InterfaceManager.cs b/Dalamud/Interface/Internal/InterfaceManager.cs index 06a93e453..e2993f911 100644 --- a/Dalamud/Interface/Internal/InterfaceManager.cs +++ b/Dalamud/Interface/Internal/InterfaceManager.cs @@ -817,8 +817,12 @@ internal class InterfaceManager : IInternalDisposableService // This will wait for scene on its own. We just wait for this.dalamudAtlas.BuildTask in this.InitScene. _ = this.dalamudAtlas.BuildFontsAsync(); + SwapChainHelper.BusyWaitForGameDeviceSwapChain(); + SwapChainHelper.DetectReShade(); + try { + // Requires that game window to be there, which will be the case once game swap chain is initialized. if (Service.Get().WindowIsImmersive) this.SetImmersiveMode(true); } @@ -834,9 +838,6 @@ internal class InterfaceManager : IInternalDisposableService 0, this.SetCursorDetour); - SwapChainHelper.BusyWaitForGameDeviceSwapChain(); - SwapChainHelper.DetectReShade(); - Log.Verbose("===== S W A P C H A I N ====="); this.resizeBuffersHook = Hook.FromAddress( (nint)SwapChainHelper.GameDeviceSwapChainVtbl->ResizeBuffers,