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/gflux.c | |
parent | Forgot one DPMS killing instance (diff) | |
parent | Update to 5.42 (diff) | |
download | xscreensaver-23.tar.gz xscreensaver-23.tar.xz xscreensaver-23.zip |
Merge branch 'master' into openslxv23
Diffstat (limited to 'hacks/glx/gflux.c')
-rw-r--r-- | hacks/glx/gflux.c | 12 |
1 files changed, 10 insertions, 2 deletions
diff --git a/hacks/glx/gflux.c b/hacks/glx/gflux.c index dbbb11c..63c9676 100644 --- a/hacks/glx/gflux.c +++ b/hacks/glx/gflux.c @@ -46,7 +46,6 @@ "*useSHM: True \n" \ "*suppressRotationAnimation: True\n" \ -# define free_gflux 0 # define release_gflux 0 # include "xlockmore.h" /* from the xscreensaver distribution */ #else /* !STANDALONE */ @@ -275,7 +274,7 @@ ENTRYPOINT void draw_gflux(ModeInfo * mi) /* Just keep running before the texture has come in. */ /* if (gp->waiting_for_image_p) return; */ - glXMakeCurrent(display, window, *(gp->glx_context)); + glXMakeCurrent(display, window, *gp->glx_context); calcGrid(gp); mi->polygon_count = gp->drawFunc(gp); @@ -382,6 +381,7 @@ ENTRYPOINT void init_gflux(ModeInfo * mi) progname, s); exit (1); } + if (s) free (s); } gp->modeinfo = mi; @@ -394,6 +394,14 @@ ENTRYPOINT void init_gflux(ModeInfo * mi) } } +ENTRYPOINT void free_gflux(ModeInfo * mi) +{ + gfluxstruct *gp = &gfluxes[MI_SCREEN(mi)]; + if (!gp->glx_context) return; + glXMakeCurrent (MI_DISPLAY(mi), MI_WINDOW(mi), *gp->glx_context); + gltrackball_free (gp->trackball); + if (gp->texName) glDeleteTextures (1, &gp->texName); +} static void createTexture(gfluxstruct *gp) { |