From ae69a754244c4e475c8d2591772ca8e005071d83 Mon Sep 17 00:00:00 2001 From: Simon Rettberg Date: Mon, 18 Feb 2019 11:55:41 +0100 Subject: Update to 5.42 --- hacks/glx/skytentacles.c | 28 +++++++++++++++++++++++++--- 1 file changed, 25 insertions(+), 3 deletions(-) (limited to 'hacks/glx/skytentacles.c') diff --git a/hacks/glx/skytentacles.c b/hacks/glx/skytentacles.c index 1061482..272a447 100644 --- a/hacks/glx/skytentacles.c +++ b/hacks/glx/skytentacles.c @@ -14,7 +14,6 @@ "*showFPS: False \n" \ "*wireframe: False \n" \ -# define free_tentacles 0 # define release_tentacles 0 #undef countof #define countof(x) (sizeof((x))/sizeof((*x))) @@ -90,7 +89,6 @@ typedef struct { GLuint texid; Bool left_p; - } tentacles_configuration; @@ -994,7 +992,7 @@ draw_tentacles (ModeInfo *mi) if (!tc->glx_context) return; - glXMakeCurrent(MI_DISPLAY(mi), MI_WINDOW(mi), *(tc->glx_context)); + glXMakeCurrent(MI_DISPLAY(mi), MI_WINDOW(mi), *tc->glx_context); glShadeModel(GL_SMOOTH); @@ -1098,6 +1096,30 @@ draw_tentacles (ModeInfo *mi) glXSwapBuffers(dpy, window); } + +ENTRYPOINT void +free_tentacles (ModeInfo *mi) +{ + tentacles_configuration *tc = &tcs[MI_SCREEN(mi)]; + int i, j; + + if (!tc->glx_context) return; + glXMakeCurrent(MI_DISPLAY(mi), MI_WINDOW(mi), *tc->glx_context); + + for (i = 0; i < tc->ntentacles; i++) { + for (j = 0; j < tc->tentacles[i]->nsegments; j++) + free_rotator (tc->tentacles[i]->segments[j].rot); + free (tc->tentacles[i]->segments); + free (tc->tentacles[i]); + } + if (tc->tentacles) free (tc->tentacles); + if (tc->torus_points) free (tc->torus_points); + if (tc->torus_normals) free (tc->torus_normals); + if (tc->texture) XDestroyImage (tc->texture); + if (tc->trackball) gltrackball_free (tc->trackball); + if (tc->texid) glDeleteTextures (1, &tc->texid); +} + XSCREENSAVER_MODULE_2 ("SkyTentacles", skytentacles, tentacles) #endif /* USE_GL */ -- cgit v1.2.3-55-g7522