Browse Source

Properly handle cases when glGetString() returns nullptr.

pull/134/merge
Vladimír Vondruš 10 years ago
parent
commit
ffc993b789
  1. 16
      src/Magnum/Context.cpp
  2. 16
      src/Magnum/Context.h

16
src/Magnum/Context.cpp

@ -680,6 +680,22 @@ bool Context::tryCreate() {
return true; return true;
} }
std::string Context::vendorString() const {
return Utility::String::fromArray(reinterpret_cast<const char*>(glGetString(GL_VENDOR)));
}
std::string Context::rendererString() const {
return Utility::String::fromArray(reinterpret_cast<const char*>(glGetString(GL_RENDERER)));
}
std::string Context::versionString() const {
return Utility::String::fromArray(reinterpret_cast<const char*>(glGetString(GL_VERSION)));
}
std::string Context::shadingLanguageVersionString() const {
return Utility::String::fromArray(reinterpret_cast<const char*>(glGetString(GL_SHADING_LANGUAGE_VERSION)));
}
std::vector<std::string> Context::shadingLanguageVersionStrings() const { std::vector<std::string> Context::shadingLanguageVersionStrings() const {
#ifndef MAGNUM_TARGET_GLES #ifndef MAGNUM_TARGET_GLES
GLint versionCount = 0; GLint versionCount = 0;

16
src/Magnum/Context.h

@ -282,9 +282,7 @@ class MAGNUM_EXPORT Context {
* OpenGL calls. * OpenGL calls.
* @see @ref rendererString(), @fn_gl{GetString} with @def_gl{VENDOR} * @see @ref rendererString(), @fn_gl{GetString} with @def_gl{VENDOR}
*/ */
std::string vendorString() const { std::string vendorString() const;
return reinterpret_cast<const char*>(glGetString(GL_VENDOR));
}
/** /**
* @brief Renderer string * @brief Renderer string
@ -293,9 +291,7 @@ class MAGNUM_EXPORT Context {
* OpenGL calls. * OpenGL calls.
* @see @ref vendorString(), @fn_gl{GetString} with @def_gl{RENDERER} * @see @ref vendorString(), @fn_gl{GetString} with @def_gl{RENDERER}
*/ */
std::string rendererString() const { std::string rendererString() const;
return reinterpret_cast<const char*>(glGetString(GL_RENDERER));
}
/** /**
* @brief Version string * @brief Version string
@ -305,9 +301,7 @@ class MAGNUM_EXPORT Context {
* @see @ref shadingLanguageVersionString(), @ref version(), * @see @ref shadingLanguageVersionString(), @ref version(),
* @fn_gl{GetString} with @def_gl{VERSION} * @fn_gl{GetString} with @def_gl{VERSION}
*/ */
std::string versionString() const { std::string versionString() const;
return reinterpret_cast<const char*>(glGetString(GL_VERSION));
}
/** /**
* @brief Shading language version string * @brief Shading language version string
@ -317,9 +311,7 @@ class MAGNUM_EXPORT Context {
* @see @ref versionString(), @ref version(), @fn_gl{GetString} with * @see @ref versionString(), @ref version(), @fn_gl{GetString} with
* @def_gl{SHADING_LANGUAGE_VERSION} * @def_gl{SHADING_LANGUAGE_VERSION}
*/ */
std::string shadingLanguageVersionString() const { std::string shadingLanguageVersionString() const;
return reinterpret_cast<const char*>(glGetString(GL_SHADING_LANGUAGE_VERSION));
}
/** /**
* @brief Shading language version strings * @brief Shading language version strings

Loading…
Cancel
Save