summaryrefslogtreecommitdiffstats
path: root/hacks/cloudlife.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/cloudlife.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/cloudlife.c')
-rw-r--r--hacks/cloudlife.c11
1 files changed, 11 insertions, 0 deletions
diff --git a/hacks/cloudlife.c b/hacks/cloudlife.c
index 4b65f9e..123dd13 100644
--- a/hacks/cloudlife.c
+++ b/hacks/cloudlife.c
@@ -382,6 +382,11 @@ cloudlife_event (Display *dpy, Window window, void *closure, XEvent *event)
{
XClearWindow (dpy, window);
st->cycles = 0;
+ if (st->field) {
+ free (st->field->cells);
+ free (st->field->new_cells);
+ free (st->field);
+ }
st->field = init_field(st);
return True;
}
@@ -392,6 +397,12 @@ static void
cloudlife_free (Display *dpy, Window window, void *closure)
{
struct state *st = (struct state *) closure;
+ free (st->field->cells);
+ free (st->field->new_cells);
+ free (st->field);
+ free (st->colors);
+ XFreeGC (dpy, st->fgc);
+ XFreeGC (dpy, st->bgc);
free (st);
}