diff options
author | Simon Rettberg | 2019-02-18 11:55:58 +0100 |
---|---|---|
committer | Simon Rettberg | 2019-02-18 11:55:58 +0100 |
commit | aa7530630e595b80d5db54655fd827b61edc0fd7 (patch) | |
tree | 048cb74072450c7592f254c3537ac8f252d09d73 /hacks/glx/maze3d.c | |
parent | Forgot one DPMS killing instance (diff) | |
parent | Update to 5.42 (diff) | |
download | xscreensaver-aa7530630e595b80d5db54655fd827b61edc0fd7.tar.gz xscreensaver-aa7530630e595b80d5db54655fd827b61edc0fd7.tar.xz xscreensaver-aa7530630e595b80d5db54655fd827b61edc0fd7.zip |
Merge branch 'master' into openslxv23
Diffstat (limited to 'hacks/glx/maze3d.c')
-rwxr-xr-x | hacks/glx/maze3d.c | 12 |
1 files changed, 7 insertions, 5 deletions
diff --git a/hacks/glx/maze3d.c b/hacks/glx/maze3d.c index 255839e..362d5d2 100755 --- a/hacks/glx/maze3d.c +++ b/hacks/glx/maze3d.c @@ -1170,7 +1170,7 @@ draw_maze (ModeInfo * mi) if (!maze->glx_context) return; - glXMakeCurrent(MI_DISPLAY(mi), MI_WINDOW(mi), *(maze->glx_context)); + glXMakeCurrent(MI_DISPLAY(mi), MI_WINDOW(mi), *maze->glx_context); glMatrixMode(GL_PROJECTION); glLoadIdentity(); @@ -1919,6 +1919,10 @@ ENTRYPOINT void free_maze (ModeInfo * mi) { maze_configuration *maze = &mazes[MI_SCREEN(mi)]; + int i; + + if (!maze->glx_context) return; + glXMakeCurrent(MI_DISPLAY(mi), MI_WINDOW(mi), *maze->glx_context); glDeleteTextures(1, &maze->wallTexture); glDeleteTextures(1, &maze->floorTexture); @@ -1937,16 +1941,14 @@ free_maze (ModeInfo * mi) glDeleteTextures(1, &maze->fractal4Texture); # endif - glDeleteLists(maze->dlists[ARROW], 4); - glDeleteLists(maze->dlists[INVERTER_TETRAHEDRON], 4); + for (i = 0; i < countof(maze->dlists); i++) + if (glIsList(maze->dlists[i])) glDeleteLists(maze->dlists[i], 1); free(maze->mazeGrid); free(maze->wallList); free(maze->inverterPosition); free(maze->gl3dTextPosition); free(maze->rats); - - memset(maze, 0, sizeof(*maze)); } |