summaryrefslogtreecommitdiffstats
path: root/hacks/glx/maze3d.c
diff options
context:
space:
mode:
authorSimon Rettberg2019-02-18 11:55:41 +0100
committerSimon Rettberg2019-02-18 11:55:41 +0100
commitae69a754244c4e475c8d2591772ca8e005071d83 (patch)
tree58b3fa7abc2dcfe3c23e1c0ce108950c720826ab /hacks/glx/maze3d.c
parentUpdate gitignore (diff)
downloadxscreensaver-ae69a754244c4e475c8d2591772ca8e005071d83.tar.gz
xscreensaver-ae69a754244c4e475c8d2591772ca8e005071d83.tar.xz
xscreensaver-ae69a754244c4e475c8d2591772ca8e005071d83.zip
Update to 5.42
Diffstat (limited to 'hacks/glx/maze3d.c')
-rwxr-xr-xhacks/glx/maze3d.c12
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));
}