summaryrefslogtreecommitdiffstats
path: root/hacks/ccurve.c
diff options
context:
space:
mode:
authorSimon Rettberg2019-02-18 11:55:41 +0100
committerSimon Rettberg2019-02-18 11:55:41 +0100
commitae69a754244c4e475c8d2591772ca8e005071d83 (patch)
tree58b3fa7abc2dcfe3c23e1c0ce108950c720826ab /hacks/ccurve.c
parentUpdate gitignore (diff)
downloadxscreensaver-ae69a754244c4e475c8d2591772ca8e005071d83.tar.gz
xscreensaver-ae69a754244c4e475c8d2591772ca8e005071d83.tar.xz
xscreensaver-ae69a754244c4e475c8d2591772ca8e005071d83.zip
Update to 5.42
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);
}