Browse Source

render: GL_DestroyRender() should activate first.

Otherwise, we might destroy a different GL context's resources.
Ryan C. Gordon 8 years ago
parent
commit
02773811b3
1 changed files with 5 additions and 0 deletions
  1. 5 0
      src/render/opengl/SDL_render_gl.c

+ 5 - 0
src/render/opengl/SDL_render_gl.c

@@ -1523,6 +1523,11 @@ GL_DestroyRenderer(SDL_Renderer * renderer)
     GL_RenderData *data = (GL_RenderData *) renderer->driverdata;
 
     if (data) {
+        if (data->context != NULL) {
+            /* make sure we delete the right resources! */
+            GL_ActivateRenderer(renderer);
+        }
+
         GL_ClearErrors(renderer);
         if (data->GL_ARB_debug_output_supported) {
             PFNGLDEBUGMESSAGECALLBACKARBPROC glDebugMessageCallbackARBFunc = (PFNGLDEBUGMESSAGECALLBACKARBPROC) SDL_GL_GetProcAddress("glDebugMessageCallbackARB");