Fixed Render[Texture|Window] crash when released while on use
Former-commit-id: 30b4bd5b7eb7b665cecfe6366117b7a3b4290202
This commit is contained in:
@@ -358,6 +358,9 @@ void NzRenderTexture::Destroy()
|
|||||||
{
|
{
|
||||||
if (m_impl)
|
if (m_impl)
|
||||||
{
|
{
|
||||||
|
if (IsActive())
|
||||||
|
NzRenderer::SetTarget(nullptr);
|
||||||
|
|
||||||
bool canFreeFBO = true;
|
bool canFreeFBO = true;
|
||||||
#if NAZARA_RENDERER_SAFE
|
#if NAZARA_RENDERER_SAFE
|
||||||
if (NzContext::GetCurrent() != m_impl->context)
|
if (NzContext::GetCurrent() != m_impl->context)
|
||||||
|
|||||||
@@ -7,6 +7,7 @@
|
|||||||
#include <Nazara/Core/Thread.hpp>
|
#include <Nazara/Core/Thread.hpp>
|
||||||
#include <Nazara/Renderer/Context.hpp>
|
#include <Nazara/Renderer/Context.hpp>
|
||||||
#include <Nazara/Renderer/OpenGL.hpp>
|
#include <Nazara/Renderer/OpenGL.hpp>
|
||||||
|
#include <Nazara/Renderer/Renderer.hpp>
|
||||||
#include <Nazara/Renderer/Texture.hpp>
|
#include <Nazara/Renderer/Texture.hpp>
|
||||||
#include <stdexcept>
|
#include <stdexcept>
|
||||||
#include <Nazara/Renderer/Debug.hpp>
|
#include <Nazara/Renderer/Debug.hpp>
|
||||||
@@ -318,6 +319,9 @@ void NzRenderWindow::OnWindowDestroy()
|
|||||||
{
|
{
|
||||||
if (m_context)
|
if (m_context)
|
||||||
{
|
{
|
||||||
|
if (IsActive())
|
||||||
|
NzRenderer::SetTarget(nullptr);
|
||||||
|
|
||||||
delete m_context;
|
delete m_context;
|
||||||
m_context = nullptr;
|
m_context = nullptr;
|
||||||
}
|
}
|
||||||
|
|||||||
Reference in New Issue
Block a user