summaryrefslogtreecommitdiffstats
path: root/hacks/ccurve.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/ccurve.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/ccurve.c')
-rw-r--r--hacks/ccurve.c5
1 files changed, 5 insertions, 0 deletions
diff --git a/hacks/ccurve.c b/hacks/ccurve.c
index 23b53e8..a4423b2 100644
--- a/hacks/ccurve.c
+++ b/hacks/ccurve.c
@@ -733,6 +733,7 @@ ccurve_draw (Display *dpy, Window window, void *closure)
{
st->draw_segment_count
= lengths [random () % (sizeof (lengths) / sizeof (int))];
+ if (st->draw_segments) free (st->draw_segments);
st->draw_segments
= (Segment*)(malloc ((st->draw_segment_count) * sizeof (Segment)));
select_pattern (st->draw_segment_count, st->draw_segments);
@@ -839,6 +840,10 @@ ccurve_event (Display *dpy, Window window, void *closure, XEvent *event)
static void
ccurve_free (Display *dpy, Window window, void *closure)
{
+ struct state *st = (struct state *) closure;
+ XFreeGC (dpy, st->context);
+ if (st->draw_segments) free (st->draw_segments);
+ free (st);
}