From 30eb680c9deacf801ed520fe560ab593c774c58f Mon Sep 17 00:00:00 2001 From: scribam Date: Mon, 17 Apr 2017 23:30:34 +0200 Subject: [PATCH] Check variable before to execute remove, in GLGSRender::on_exit (#2682) --- rpcs3/Emu/RSX/GL/GLGSRender.cpp | 29 ++++++++++++++++++++++++----- 1 file changed, 24 insertions(+), 5 deletions(-) diff --git a/rpcs3/Emu/RSX/GL/GLGSRender.cpp b/rpcs3/Emu/RSX/GL/GLGSRender.cpp index e84b5b7dce..98410258ca 100644 --- a/rpcs3/Emu/RSX/GL/GLGSRender.cpp +++ b/rpcs3/Emu/RSX/GL/GLGSRender.cpp @@ -647,11 +647,30 @@ void GLGSRender::on_exit() sampler.remove(); } - m_attrib_ring_buffer->remove(); - m_transform_constants_buffer->remove(); - m_fragment_constants_buffer->remove(); - m_scale_offset_buffer->remove(); - m_index_ring_buffer->remove(); + if (m_attrib_ring_buffer) + { + m_attrib_ring_buffer->remove(); + } + + if (m_transform_constants_buffer) + { + m_transform_constants_buffer->remove(); + } + + if (m_fragment_constants_buffer) + { + m_fragment_constants_buffer->remove(); + } + + if (m_scale_offset_buffer) + { + m_scale_offset_buffer->remove(); + } + + if (m_index_ring_buffer) + { + m_index_ring_buffer->remove(); + } m_text_printer.close(); m_gl_texture_cache.close();