From b572ca7bd085078805cf17a11560a45e5fe0cd8c Mon Sep 17 00:00:00 2001 From: Taylor Richards Date: Tue, 3 Mar 2015 21:50:33 -0500 Subject: [PATCH] fix memory leak and crash with mouse cursor save --- src/graphics/grgl1.cpp | 13 +++++++++++++ 1 file changed, 13 insertions(+) diff --git a/src/graphics/grgl1.cpp b/src/graphics/grgl1.cpp index bc493b1..d1f1fe9 100644 --- a/src/graphics/grgl1.cpp +++ b/src/graphics/grgl1.cpp @@ -105,6 +105,13 @@ void opengl1_cleanup() gr_opengl1_clear(); gr_opengl1_flip(); + gr_opengl1_free_screen(0); + + if (Gr_opengl_mouse_saved_data) { + free(Gr_opengl_mouse_saved_data); + Gr_opengl_mouse_saved_data = NULL; + } + opengl1_tcache_cleanup(); GL_one_inited = 0; @@ -766,4 +773,10 @@ void gr_opengl1_set_viewport(int width, int height) glMatrixMode(GL_MODELVIEW); glLoadIdentity(); glScalef(GL_viewport_scale_w, GL_viewport_scale_h, 1.0f); + + // free mouse cursor storage, since the size might have changed + if (Gr_opengl_mouse_saved_data) { + free(Gr_opengl_mouse_saved_data); + Gr_opengl_mouse_saved_data = NULL; + } } -- 2.39.2