Skip to content

Commit f279821

Browse files
committed
Fixes
1 parent 52fe8dd commit f279821

File tree

4 files changed

+10
-7
lines changed

4 files changed

+10
-7
lines changed

Dalamud/ImGuiScene/Helpers/ImGuiViewportHelpers.cs

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -143,6 +143,7 @@ internal static class ImGuiViewportHelpers
143143
/// </summary>
144144
public static unsafe void EnableViewportWindowBackgroundAlpha()
145145
{
146+
// TODO: patch imgui.cpp:6126, which disables background transparency for extra viewport windows
146147
var offset = 0x00007FFB6ADA632C - 0x00007FFB6AD60000;
147148
offset += Process.GetCurrentProcess().Modules.Cast<ProcessModule>().First(x => x.ModuleName == "cimgui.dll")
148149
.BaseAddress;

Dalamud/ImGuiScene/Implementations/Dx12Renderer.Heap.cs

Lines changed: 2 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -10,8 +10,6 @@
1010
using TerraFX.Interop.DirectX;
1111
using TerraFX.Interop.Windows;
1212

13-
using Win32 = TerraFX.Interop.Windows.Windows;
14-
1513
namespace Dalamud.ImGuiScene.Implementations;
1614

1715
/// <summary>
@@ -198,9 +196,10 @@ public Heap(
198196

199197
fixed (Guid* piid = &IID.IID_ID3D12Heap)
200198
fixed (D3D12_HEAP_DESC* pDesc = &desc)
199+
fixed (ID3D12Heap** ppHeap = &this.heap.GetPinnableReference())
201200
fixed (void* pName = $"{debugName} ({Util.FormatBytes((long)desc.SizeInBytes)})")
202201
{
203-
device->CreateHeap(pDesc, piid, (void**)this.heap.GetAddressOf()).ThrowHr();
202+
device->CreateHeap(pDesc, piid, (void**)ppHeap).ThrowHr();
204203
this.heap.Get()->SetName((ushort*)pName).ThrowHr();
205204
}
206205

Dalamud/Interface/Internal/DalamudIme.cs

Lines changed: 2 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -24,7 +24,7 @@ namespace Dalamud.Interface.Internal;
2424
/// <summary>
2525
/// This class handles CJK IME.
2626
/// </summary>
27-
[ServiceManager.EarlyLoadedService]
27+
[ServiceManager.BlockingEarlyLoadedService]
2828
internal sealed unsafe class DalamudIme : IDisposable, IServiceType
2929
{
3030
private static readonly ModuleLog Log = new("IME");
@@ -142,6 +142,7 @@ internal static bool ShowCursorInInputText
142142
/// </summary>
143143
internal char InputModeIcon { get; private set; }
144144

145+
// TODO: include imgui_internal.h in ImGui.NET code generator
145146
private static ref ImGuiInputTextState TextState => ref *(ImGuiInputTextState*)(ImGui.GetCurrentContext() + 0x4588);
146147

147148
/// <inheritdoc/>

Dalamud/Interface/Internal/InterfaceManager.cs

Lines changed: 5 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -26,9 +26,11 @@
2626
using Dalamud.Storage.Assets;
2727
using Dalamud.Utility;
2828
using Dalamud.Utility.Timing;
29+
2930
using ImGuiNET;
30-
using PInvoke;
31+
3132
using Serilog;
33+
3234
using TerraFX.Interop.DirectX;
3335
using TerraFX.Interop.Windows;
3436

@@ -106,10 +108,10 @@ private unsafe InterfaceManager()
106108
this.address = new SwapChainVtableResolver();
107109
}
108110

109-
[UnmanagedFunctionPointer(CallingConvention.ThisCall)]
111+
[UnmanagedFunctionPointer(CallingConvention.StdCall)]
110112
private unsafe delegate HRESULT PresentDelegate(IDXGISwapChain* swapChain, uint syncInterval, uint presentFlags);
111113

112-
[UnmanagedFunctionPointer(CallingConvention.ThisCall)]
114+
[UnmanagedFunctionPointer(CallingConvention.StdCall)]
113115
private unsafe delegate HRESULT ResizeBuffersDelegate(IDXGISwapChain* swapChain, uint bufferCount, uint width, uint height, uint newFormat, uint swapChainFlags);
114116

115117
[UnmanagedFunctionPointer(CallingConvention.StdCall)]

0 commit comments

Comments
 (0)