summaryrefslogtreecommitdiffstats
path: root/hacks/glx/klein.c
diff options
context:
space:
mode:
authorSimon Rettberg2019-02-18 11:55:58 +0100
committerSimon Rettberg2019-02-18 11:55:58 +0100
commitaa7530630e595b80d5db54655fd827b61edc0fd7 (patch)
tree048cb74072450c7592f254c3537ac8f252d09d73 /hacks/glx/klein.c
parentForgot one DPMS killing instance (diff)
parentUpdate to 5.42 (diff)
downloadxscreensaver-aa7530630e595b80d5db54655fd827b61edc0fd7.tar.gz
xscreensaver-aa7530630e595b80d5db54655fd827b61edc0fd7.tar.xz
xscreensaver-aa7530630e595b80d5db54655fd827b61edc0fd7.zip
Merge branch 'master' into openslxv23
Diffstat (limited to 'hacks/glx/klein.c')
-rw-r--r--hacks/glx/klein.c15
1 files changed, 12 insertions, 3 deletions
diff --git a/hacks/glx/klein.c b/hacks/glx/klein.c
index 1c042da..0fac5d2 100644
--- a/hacks/glx/klein.c
+++ b/hacks/glx/klein.c
@@ -137,7 +137,6 @@ static const char sccsid[] = "@(#)klein.c 1.1 08/10/04 xlockmore";
# define DEFAULTS "*delay: 10000 \n" \
"*showFPS: False \n" \
-# define free_klein 0
# define release_klein 0
# include "xlockmore.h" /* from the xscreensaver distribution */
#else /* !STANDALONE */
@@ -2065,7 +2064,7 @@ ENTRYPOINT void draw_klein(ModeInfo *mi)
if (!kb->glx_context)
return;
- glXMakeCurrent(display,window,*(kb->glx_context));
+ glXMakeCurrent(display, window, *kb->glx_context);
glClear(GL_COLOR_BUFFER_BIT|GL_DEPTH_BUFFER_BIT);
glLoadIdentity();
@@ -2089,11 +2088,21 @@ ENTRYPOINT void change_klein(ModeInfo *mi)
if (!kb->glx_context)
return;
- glXMakeCurrent(MI_DISPLAY(mi),MI_WINDOW(mi),*(kb->glx_context));
+ glXMakeCurrent(MI_DISPLAY(mi), MI_WINDOW(mi), *kb->glx_context);
init(mi);
}
#endif /* !STANDALONE */
+ENTRYPOINT void free_klein(ModeInfo *mi)
+{
+ kleinstruct *kb = &klein[MI_SCREEN(mi)];
+ if (!kb->glx_context) return;
+ glXMakeCurrent (MI_DISPLAY(mi), MI_WINDOW(mi), *kb->glx_context);
+ gltrackball_free (kb->trackballs[0]);
+ gltrackball_free (kb->trackballs[1]);
+ if (kb->tex_name) glDeleteTextures (1, &kb->tex_name);
+}
+
XSCREENSAVER_MODULE ("Klein", klein)
#endif /* USE_GL */