diff options
author | Simon Rettberg | 2019-02-18 11:55:58 +0100 |
---|---|---|
committer | Simon Rettberg | 2019-02-18 11:55:58 +0100 |
commit | aa7530630e595b80d5db54655fd827b61edc0fd7 (patch) | |
tree | 048cb74072450c7592f254c3537ac8f252d09d73 /hacks/glx/endgame.c | |
parent | Forgot one DPMS killing instance (diff) | |
parent | Update to 5.42 (diff) | |
download | xscreensaver-aa7530630e595b80d5db54655fd827b61edc0fd7.tar.gz xscreensaver-aa7530630e595b80d5db54655fd827b61edc0fd7.tar.xz xscreensaver-aa7530630e595b80d5db54655fd827b61edc0fd7.zip |
Merge branch 'master' into openslxv23
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 |