aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorPhilipp Kerling <pkerling@casix.org>2018-12-21 15:28:10 +0100
committerPhilipp Kerling <pkerling@casix.org>2018-12-21 16:05:05 +0100
commit02206657de7d69c445c7bde6a259b4da41bab65d (patch)
treea2d366b71812eecac685ccc2bff567ebb76faeb0
parent7439ef57c0b6f85f8b5c2f1d75bfe10185bc86ca (diff)
[opengl] Do not crash when not getting GL_EXTENSIONS
All glGetString results except for the extensions are checked for NULL. Also check those in hope of fixing https://retrace.fedoraproject.org/faf/reports/2389135/
-rw-r--r--xbmc/rendering/gl/RenderSystemGL.cpp10
1 files changed, 7 insertions, 3 deletions
diff --git a/xbmc/rendering/gl/RenderSystemGL.cpp b/xbmc/rendering/gl/RenderSystemGL.cpp
index de26031bca..94846c4a62 100644
--- a/xbmc/rendering/gl/RenderSystemGL.cpp
+++ b/xbmc/rendering/gl/RenderSystemGL.cpp
@@ -48,21 +48,25 @@ bool CRenderSystemGL::InitRenderSystem()
if (m_RenderVersionMajor > 3 ||
(m_RenderVersionMajor == 3 && m_RenderVersionMinor >= 2))
{
- GLint n;
+ GLint n = 0;
glGetIntegerv(GL_NUM_EXTENSIONS, &n);
if (n > 0)
{
GLint i;
for (i = 0; i < n; i++)
{
- m_RenderExtensions += (const char*)glGetStringi(GL_EXTENSIONS, i);
+ m_RenderExtensions += (const char*) glGetStringi(GL_EXTENSIONS, i);
m_RenderExtensions += " ";
}
}
}
else
{
- m_RenderExtensions += (const char*) glGetString(GL_EXTENSIONS);
+ auto extensions = (const char*) glGetString(GL_EXTENSIONS);
+ if (extensions)
+ {
+ m_RenderExtensions += extensions;
+ }
}
m_RenderExtensions += " ";