From 51ba788d0da8a30b9d8bb795d4eff23ad3273f91 Mon Sep 17 00:00:00 2001 From: "Ryan C. Gordon" Date: Sat, 20 Jul 2013 21:10:05 -0400 Subject: [PATCH] Don't try to clear errors in GL_ActivateRenderer() before we MakeCurrent. Otherwise, if we destroyed a different renderer, next time this one draws, it'll clear errors forever (GL_INVALID_OPERATION for having no current context, at least on Windows), hanging up the program in an infinite loop. Fixes Bugzilla #1775. --- src/render/opengl/SDL_render_gl.c | 4 +++- 1 file changed, 3 insertions(+), 1 deletion(-) diff --git a/src/render/opengl/SDL_render_gl.c b/src/render/opengl/SDL_render_gl.c index 279652f12..4d0ef4aaa 100644 --- a/src/render/opengl/SDL_render_gl.c +++ b/src/render/opengl/SDL_render_gl.c @@ -277,7 +277,6 @@ GL_ActivateRenderer(SDL_Renderer * renderer) { GL_RenderData *data = (GL_RenderData *) renderer->driverdata; - GL_ClearErrors(renderer); if (SDL_CurrentContext != data->context) { if (SDL_GL_MakeCurrent(renderer->window, data->context) < 0) { return -1; @@ -286,6 +285,9 @@ GL_ActivateRenderer(SDL_Renderer * renderer) GL_UpdateViewport(renderer); } + + GL_ClearErrors(renderer); + return 0; }