mirror of https://github.com/encounter/SDL.git
Fixed bug 3720 - SDL_GL_GetAttribute doesn't check for initialized video driver
Simon Hug SDL_GL_GetAttribute doesn't check if a video driver has been initialized and will access the SDL_VideoDevice pointer, which is NULL at that point. I think all of the attributes require an initialized driver, so a simple NULL check should fix it. Patch is attached.
This commit is contained in:
parent
ee3f11d545
commit
e10a98d2ad
|
@ -1111,11 +1111,16 @@ extern DECLSPEC void SDLCALL SDL_GL_ResetAttributes(void);
|
|||
|
||||
/**
|
||||
* \brief Set an OpenGL window attribute before window creation.
|
||||
*
|
||||
* \return 0 on success, or -1 if the attribute could not be set.
|
||||
*/
|
||||
extern DECLSPEC int SDLCALL SDL_GL_SetAttribute(SDL_GLattr attr, int value);
|
||||
|
||||
/**
|
||||
* \brief Get the actual value for an attribute from the current context.
|
||||
*
|
||||
* \return 0 on success, or -1 if the attribute could not be retrieved.
|
||||
* The integer at \c value will be modified in either case.
|
||||
*/
|
||||
extern DECLSPEC int SDLCALL SDL_GL_GetAttribute(SDL_GLattr attr, int *value);
|
||||
|
||||
|
|
|
@ -3113,9 +3113,17 @@ SDL_GL_GetAttribute(SDL_GLattr attr, int *value)
|
|||
GLenum attachmentattrib = 0;
|
||||
#endif
|
||||
|
||||
if (!value) {
|
||||
return SDL_InvalidParamError("value");
|
||||
}
|
||||
|
||||
/* Clear value in any case */
|
||||
*value = 0;
|
||||
|
||||
if (!_this) {
|
||||
return SDL_UninitializedVideo();
|
||||
}
|
||||
|
||||
switch (attr) {
|
||||
case SDL_GL_RED_SIZE:
|
||||
#if SDL_VIDEO_OPENGL
|
||||
|
|
Loading…
Reference in New Issue