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/discoball.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/discoball.c')
-rw-r--r-- | hacks/glx/discoball.c | 8 |
1 files changed, 6 insertions, 2 deletions
diff --git a/hacks/glx/discoball.c b/hacks/glx/discoball.c index 4085c56..427d7e9 100644 --- a/hacks/glx/discoball.c +++ b/hacks/glx/discoball.c @@ -637,7 +637,7 @@ draw_ball (ModeInfo *mi) if (!bp->glx_context) return; - glXMakeCurrent(MI_DISPLAY(mi), MI_WINDOW(mi), *(bp->glx_context)); + glXMakeCurrent(MI_DISPLAY(mi), MI_WINDOW(mi), *bp->glx_context); glShadeModel(GL_SMOOTH); @@ -693,13 +693,17 @@ ENTRYPOINT void free_ball (ModeInfo *mi) { ball_configuration *bp = &bps[MI_SCREEN(mi)]; + if (!bp->glx_context) return; + glXMakeCurrent(MI_DISPLAY(mi), MI_WINDOW(mi), *bp->glx_context); while (bp->tiles) { tile *t = bp->tiles->next; free (bp->tiles); bp->tiles = t; } - free (bp->rays); + if (bp->rays) free (bp->rays); + if (bp->trackball) gltrackball_free (bp->trackball); + if (bp->rot) free_rotator (bp->rot); } XSCREENSAVER_MODULE_2 ("Discoball", discoball, ball) |