diff options
author | Simon Rettberg | 2019-02-18 11:55:41 +0100 |
---|---|---|
committer | Simon Rettberg | 2019-02-18 11:55:41 +0100 |
commit | ae69a754244c4e475c8d2591772ca8e005071d83 (patch) | |
tree | 58b3fa7abc2dcfe3c23e1c0ce108950c720826ab /hacks/glx/starwars.c | |
parent | Update gitignore (diff) | |
download | xscreensaver-ae69a754244c4e475c8d2591772ca8e005071d83.tar.gz xscreensaver-ae69a754244c4e475c8d2591772ca8e005071d83.tar.xz xscreensaver-ae69a754244c4e475c8d2591772ca8e005071d83.zip |
Update to 5.42
Diffstat (limited to 'hacks/glx/starwars.c')
-rw-r--r-- | hacks/glx/starwars.c | 18 |
1 files changed, 13 insertions, 5 deletions
diff --git a/hacks/glx/starwars.c b/hacks/glx/starwars.c index 1efcd15..bccd568 100644 --- a/hacks/glx/starwars.c +++ b/hacks/glx/starwars.c @@ -896,7 +896,7 @@ draw_sws (ModeInfo *mi) return; glDrawBuffer (GL_BACK); - glXMakeCurrent (dpy, window, *(sc->glx_context)); + glXMakeCurrent (dpy, window, *sc->glx_context); glClear (GL_COLOR_BUFFER_BIT); @@ -1057,10 +1057,18 @@ ENTRYPOINT void free_sws (ModeInfo *mi) { sws_configuration *sc = &scs[MI_SCREEN(mi)]; - if (sc->tc) - textclient_close (sc->tc); - - /* #### there's more to free here */ + int i; + if (!sc->glx_context) return; + glXMakeCurrent (MI_DISPLAY(mi), MI_WINDOW(mi), *sc->glx_context); + if (sc->tc) textclient_close (sc->tc); + if (sc->texfont) free_texture_font (sc->texfont); + if (sc->buf) free (sc->buf); + if (sc->line_widths) free (sc->line_widths); + for (i = 0; i < sc->total_lines; i++) + if (sc->lines[i]) free (sc->lines[i]); + if (sc->lines) free (sc->lines); + if (glIsList(sc->star_list)) glDeleteLists(sc->star_list, 1); + if (glIsList(sc->text_list)) glDeleteLists(sc->text_list, 1); } |