summaryrefslogtreecommitdiffstats
path: root/hacks/glx/energystream.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/energystream.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/energystream.c')
-rw-r--r--hacks/glx/energystream.c19
1 files changed, 11 insertions, 8 deletions
diff --git a/hacks/glx/energystream.c b/hacks/glx/energystream.c
index 7221f0d..cc8b5b2 100644
--- a/hacks/glx/energystream.c
+++ b/hacks/glx/energystream.c
@@ -367,16 +367,19 @@ free_stream (ModeInfo * mi)
stream_configuration *es = &ess[MI_SCREEN(mi)];
int i;
- if (es->glx_context) {
- glXMakeCurrent (MI_DISPLAY(mi), MI_WINDOW(mi), *(es->glx_context));
+ if (!es->glx_context) return;
+ glXMakeCurrent (MI_DISPLAY(mi), MI_WINDOW(mi), *es->glx_context);
- for (i = 0; i < es->num_streams; i++) {
- free (es->streams[i].flares);
- glDeleteTextures (1, &es->streams[i].flare_tex);
- }
+ if (es->trackball) gltrackball_free (es->trackball);
+ if (es->rot) free_rotator (es->rot);
- free (es->streams);
+ for (i = 0; i < es->num_streams; i++) {
+ free (es->streams[i].flares);
+ glDeleteTextures (1, &es->streams[i].flare_tex);
}
+
+ if (es->streams) free (es->streams);
+
}
@@ -438,7 +441,7 @@ draw_stream (ModeInfo *mi)
cur_time = (float)(GETSECS(current_time) * 1000 + GETMSECS(current_time) - es->start_time) / 1000.0;
cur_time *= global_speed;
- glXMakeCurrent (MI_DISPLAY(mi), MI_WINDOW(mi), *(es->glx_context));
+ glXMakeCurrent (MI_DISPLAY(mi), MI_WINDOW(mi), *es->glx_context);
glClear (GL_COLOR_BUFFER_BIT | GL_DEPTH_BUFFER_BIT);