From 239ce4e3231a1d5abcc8a4de4ecc8b9043b195e3 Mon Sep 17 00:00:00 2001 From: Lynix Date: Wed, 9 Oct 2013 10:08:17 +0200 Subject: [PATCH] Fixed Render[Texture|Window] crash when released while on use Former-commit-id: 30b4bd5b7eb7b665cecfe6366117b7a3b4290202 --- src/Nazara/Renderer/RenderTexture.cpp | 3 +++ src/Nazara/Renderer/RenderWindow.cpp | 4 ++++ 2 files changed, 7 insertions(+) diff --git a/src/Nazara/Renderer/RenderTexture.cpp b/src/Nazara/Renderer/RenderTexture.cpp index 3a8b7ac6e..439d7b8b3 100644 --- a/src/Nazara/Renderer/RenderTexture.cpp +++ b/src/Nazara/Renderer/RenderTexture.cpp @@ -358,6 +358,9 @@ void NzRenderTexture::Destroy() { if (m_impl) { + if (IsActive()) + NzRenderer::SetTarget(nullptr); + bool canFreeFBO = true; #if NAZARA_RENDERER_SAFE if (NzContext::GetCurrent() != m_impl->context) diff --git a/src/Nazara/Renderer/RenderWindow.cpp b/src/Nazara/Renderer/RenderWindow.cpp index 00b7617b1..c76c356ac 100644 --- a/src/Nazara/Renderer/RenderWindow.cpp +++ b/src/Nazara/Renderer/RenderWindow.cpp @@ -7,6 +7,7 @@ #include #include #include +#include #include #include #include @@ -318,6 +319,9 @@ void NzRenderWindow::OnWindowDestroy() { if (m_context) { + if (IsActive()) + NzRenderer::SetTarget(nullptr); + delete m_context; m_context = nullptr; }