From c837573b8d42320f61ea282b1ea4e8ebc29a357f Mon Sep 17 00:00:00 2001 From: Yuqian Yang Date: Thu, 20 Nov 2025 22:53:11 +0800 Subject: Delete all delete later in UiApplication destructing on win. Fix a bug in LayoutRenderObject. --- src/platform/graphics/direct2d/Factory.cpp | 12 +++++++++++- 1 file changed, 11 insertions(+), 1 deletion(-) (limited to 'src/platform/graphics/direct2d/Factory.cpp') diff --git a/src/platform/graphics/direct2d/Factory.cpp b/src/platform/graphics/direct2d/Factory.cpp index 6be4f797..ef355c72 100644 --- a/src/platform/graphics/direct2d/Factory.cpp +++ b/src/platform/graphics/direct2d/Factory.cpp @@ -6,6 +6,9 @@ #include "cru/platform/graphics/direct2d/ImageFactory.h" #include "cru/platform/graphics/direct2d/TextLayout.h" +#include +#include +#include #include namespace cru::platform::graphics::direct2d { @@ -18,6 +21,13 @@ DirectGraphicsFactory::DirectGraphicsFactory() : DirectGraphicsResource(this) { #ifdef CRU_DEBUG creation_flags |= D3D11_CREATE_DEVICE_DEBUG; + + atexit([] { + Microsoft::WRL::ComPtr dxgi_debug; + CheckHResult(DXGIGetDebugInterface1(0, IID_PPV_ARGS(&dxgi_debug))); + CheckHResult( + dxgi_debug->ReportLiveObjects(DXGI_DEBUG_ALL, DXGI_DEBUG_RLO_ALL)); + }); #endif const D3D_FEATURE_LEVEL feature_levels[] = { @@ -36,7 +46,7 @@ DirectGraphicsFactory::DirectGraphicsFactory() : DirectGraphicsResource(this) { CheckHResult(d3d11_device_->QueryInterface(dxgi_device.GetAddressOf())); CheckHResult(D2D1CreateFactory(D2D1_FACTORY_TYPE_SINGLE_THREADED, - IID_PPV_ARGS(&d2d1_factory_))); + IID_PPV_ARGS(&d2d1_factory_))); CheckHResult(d2d1_factory_->CreateDevice(dxgi_device.Get(), &d2d1_device_)); -- cgit v1.2.3