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/cityflow.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/cityflow.c')
-rw-r--r-- | hacks/glx/cityflow.c | 21 |
1 files changed, 19 insertions, 2 deletions
diff --git a/hacks/glx/cityflow.c b/hacks/glx/cityflow.c index 2b3bd4f..a6660af 100644 --- a/hacks/glx/cityflow.c +++ b/hacks/glx/cityflow.c @@ -14,7 +14,6 @@ "*showFPS: False \n" \ "*wireframe: False \n" \ -# define free_cube 0 # define release_cube 0 #undef countof #define countof(x) (sizeof((x))/sizeof((*x))) @@ -381,7 +380,7 @@ draw_cube (ModeInfo *mi) return; mi->polygon_count = 0; - glXMakeCurrent(MI_DISPLAY(mi), MI_WINDOW(mi), *(cc->glx_context)); + glXMakeCurrent(MI_DISPLAY(mi), MI_WINDOW(mi), *cc->glx_context); interference (mi); animate_cubes (mi); @@ -540,6 +539,24 @@ draw_cube (ModeInfo *mi) } +ENTRYPOINT void +free_cube (ModeInfo *mi) +{ + cube_configuration *cc = &ccs[MI_SCREEN(mi)]; + if (!cc->glx_context) return; + glXMakeCurrent(MI_DISPLAY(mi), MI_WINDOW(mi), *cc->glx_context); + + if (cc->waves) { + free (cc->waves->srcs); + free (cc->waves->heights); + free (cc->waves); + } + if (cc->trackball) gltrackball_free (cc->trackball); + if (cc->cubes) free (cc->cubes); + if (cc->colors) free (cc->colors); +} + + XSCREENSAVER_MODULE_2 ("Cityflow", cityflow, cube) #endif /* USE_GL */ |