diff options
author | Simon Rettberg | 2019-02-18 11:55:41 +0100 |
---|---|---|
committer | Simon Rettberg | 2019-02-18 11:55:41 +0100 |
commit | ae69a754244c4e475c8d2591772ca8e005071d83 (patch) | |
tree | 58b3fa7abc2dcfe3c23e1c0ce108950c720826ab /hacks/glx/endgame.c | |
parent | Update gitignore (diff) | |
download | xscreensaver-ae69a754244c4e475c8d2591772ca8e005071d83.tar.gz xscreensaver-ae69a754244c4e475c8d2591772ca8e005071d83.tar.xz xscreensaver-ae69a754244c4e475c8d2591772ca8e005071d83.zip |
Update to 5.42
Diffstat (limited to 'hacks/glx/endgame.c')
-rw-r--r-- | hacks/glx/endgame.c | 19 |
1 files changed, 17 insertions, 2 deletions
diff --git a/hacks/glx/endgame.c b/hacks/glx/endgame.c index ddba7f9..cc5f22c 100644 --- a/hacks/glx/endgame.c +++ b/hacks/glx/endgame.c @@ -20,7 +20,6 @@ "*showFPS: False \n" \ "*wireframe: False \n" \ -# define free_chess 0 # define release_chess 0 # include "xlockmore.h" @@ -894,7 +893,7 @@ ENTRYPOINT void draw_chess(ModeInfo *mi) if(!cs->glx_context) return; - glXMakeCurrent(disp, w, *(cs->glx_context)); + glXMakeCurrent(disp, w, *cs->glx_context); /** code for moving a piece */ if(cs->moving && ++cs->steps == 100) { @@ -966,6 +965,22 @@ ENTRYPOINT void draw_chess(ModeInfo *mi) glXSwapBuffers(disp, w); } + +ENTRYPOINT void free_chess(ModeInfo *mi) +{ + Chesscreen *cs = &qs[MI_SCREEN(mi)]; + int i; + if (!cs->glx_context) return; + glXMakeCurrent(MI_DISPLAY(mi), MI_WINDOW(mi), *cs->glx_context); + gltrackball_free (cs->trackball); + if (cs->piecetexture) glDeleteTextures (1, &cs->piecetexture); + if (cs->boardtexture) glDeleteTextures (1, &cs->boardtexture); + + /* this is horrible! List numbers are hardcoded! */ + for (i = 1; i <= 20; i++) + if (glIsList(i)) glDeleteLists(i, 1); +} + XSCREENSAVER_MODULE_2 ("Endgame", endgame, chess) #endif |