diff options
author | Philipp Kerling <pkerling@casix.org> | 2018-12-21 15:28:10 +0100 |
---|---|---|
committer | Philipp Kerling <pkerling@casix.org> | 2018-12-21 16:05:05 +0100 |
commit | 02206657de7d69c445c7bde6a259b4da41bab65d (patch) | |
tree | a2d366b71812eecac685ccc2bff567ebb76faeb0 | |
parent | 7439ef57c0b6f85f8b5c2f1d75bfe10185bc86ca (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.cpp | 10 |
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 += " "; |