From d3af56d6fd953546fd385acee07e8b21458bb4f0 Mon Sep 17 00:00:00 2001 From: xd-byte <53884905+xd-byte@users.noreply.github.com> Date: Sat, 25 Oct 2025 23:06:52 +0800 Subject: [PATCH] fix(windows): Memory leak when EnumAdapters1 uses dxgi::adapter_t address as parameter (#4340) --- src/platform/windows/display_base.cpp | 5 +++-- 1 file changed, 3 insertions(+), 2 deletions(-) diff --git a/src/platform/windows/display_base.cpp b/src/platform/windows/display_base.cpp index d9da7f86..06df0c54 100644 --- a/src/platform/windows/display_base.cpp +++ b/src/platform/windows/display_base.cpp @@ -1059,8 +1059,9 @@ namespace platf { return {}; } - dxgi::adapter_t adapter; - for (int x = 0; factory->EnumAdapters1(x, &adapter) != DXGI_ERROR_NOT_FOUND; ++x) { + dxgi::adapter_t::pointer adapter_p; + for (int x = 0; factory->EnumAdapters1(x, &adapter_p) != DXGI_ERROR_NOT_FOUND; ++x) { + dxgi::adapter_t adapter {adapter_p}; DXGI_ADAPTER_DESC1 adapter_desc; adapter->GetDesc1(&adapter_desc);