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/timetunnel.c | 28 +++++++++++++++++++++++++--- 1 file changed, 25 insertions(+), 3 deletions(-) (limited to 'hacks/glx/timetunnel.c') diff --git a/hacks/glx/timetunnel.c b/hacks/glx/timetunnel.c index 723d04d..2dd83be 100644 --- a/hacks/glx/timetunnel.c +++ b/hacks/glx/timetunnel.c @@ -23,7 +23,6 @@ -# define free_tunnel 0 # define release_tunnel 0 #undef countof #define countof(x) (sizeof((x))/sizeof((*x))) @@ -1061,7 +1060,7 @@ init_tunnel (ModeInfo *mi) tc->end_time = end; /* reset animation knots, effect 0 not defined. */ - tc->effects = malloc(sizeof(effect_t) * ( tc->num_effects + 1)); + tc->effects = calloc(sizeof(effect_t),tc->num_effects + 1); for ( i = 1; i <= tc->num_effects ; i++) init_effects(&tc->effects[i], i); @@ -1159,7 +1158,7 @@ draw_tunnel (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); @@ -1235,6 +1234,29 @@ draw_tunnel (ModeInfo *mi) glXSwapBuffers(dpy, window); } + +ENTRYPOINT void +free_tunnel (ModeInfo *mi) +{ + tunnel_configuration *tc = &tconf[MI_SCREEN(mi)]; + int i; + if (!tc->glx_context) return; + glXMakeCurrent(MI_DISPLAY(mi), MI_WINDOW(mi), *tc->glx_context); + if (tc->trackball) gltrackball_free (tc->trackball); + if (tc->rot) free_rotator (tc->rot); + if (tc->texshift) free (tc->texshift); + if (tc->effects) { + for (i = 0; i < tc->num_effects; i++) { + if (tc->effects[i].knots) free (tc->effects[i].knots); + if (tc->effects[i].state) free (tc->effects[i].state); + } + free (tc->effects); + } + if (glIsList(tc->cyllist)) glDeleteLists(tc->cyllist, 1); + if (glIsList(tc->diamondlist)) glDeleteLists(tc->diamondlist, 1); + glDeleteTextures (MAX_TEXTURE, tc->texture_binds); +} + XSCREENSAVER_MODULE_2 ("TimeTunnel", timetunnel, tunnel) #endif /* USE_GL */ -- cgit v1.2.3-55-g7522