diff --git a/rpcs3/Emu/GS/GL/GLFragmentProgram.cpp b/rpcs3/Emu/GS/GL/GLFragmentProgram.cpp index a0813bf35e..8da1d20a63 100644 --- a/rpcs3/Emu/GS/GL/GLFragmentProgram.cpp +++ b/rpcs3/Emu/GS/GL/GLFragmentProgram.cpp @@ -536,7 +536,14 @@ void GLShaderProgram::Delete() if (m_id) { - glDeleteShader(m_id); + if (Emu.IsStopped()) + { + ConLog.Warning("GLShaderProgram::Delete(): glDeleteShader(%d) avoided", m_id); + } + else + { + glDeleteShader(m_id); + } m_id = 0; } } diff --git a/rpcs3/Emu/GS/GL/GLVertexProgram.cpp b/rpcs3/Emu/GS/GL/GLVertexProgram.cpp index 8dbc57081a..4ff7af13c8 100644 --- a/rpcs3/Emu/GS/GL/GLVertexProgram.cpp +++ b/rpcs3/Emu/GS/GL/GLVertexProgram.cpp @@ -665,7 +665,14 @@ void GLVertexProgram::Delete() if(id) { - glDeleteShader(id); + if (Emu.IsStopped()) + { + ConLog.Warning("GLVertexProgram::Delete(): glDeleteShader(%d) avoided", id); + } + else + { + glDeleteShader(id); + } id = 0; } }