From 2d222f22c7b7d41252b4cbb4adf6a4444ad9a514 Mon Sep 17 00:00:00 2001 From: Cacodemon345 Date: Sun, 23 Apr 2023 20:39:34 +0600 Subject: [PATCH] qt: Destroy existing Direct3D 9 devices if it exists --- src/qt/qt_d3d9renderer.cpp | 6 ++++++ 1 file changed, 6 insertions(+) diff --git a/src/qt/qt_d3d9renderer.cpp b/src/qt/qt_d3d9renderer.cpp index bbbb80e59..f2c9fe9f4 100644 --- a/src/qt/qt_d3d9renderer.cpp +++ b/src/qt/qt_d3d9renderer.cpp @@ -24,11 +24,16 @@ D3D9Renderer::D3D9Renderer(QWidget *parent, int monitor_index) windowHandle = (HWND) winId(); surfaceInUse = true; + finalized = true; RendererCommon::parentWidget = parent; this->setSizePolicy(QSizePolicy::Expanding, QSizePolicy::Expanding); this->m_monitor_index = monitor_index; + + d3d9surface = nullptr; + d3d9dev = nullptr; + d3d9 = nullptr; } D3D9Renderer::~D3D9Renderer() @@ -67,6 +72,7 @@ D3D9Renderer::hideEvent(QHideEvent *event) void D3D9Renderer::showEvent(QShowEvent *event) { + if (d3d9) finalize(); params = {}; if (FAILED(Direct3DCreate9Ex(D3D_SDK_VERSION, &d3d9))) {