summaryrefslogtreecommitdiffstats
path: root/hacks/rocks.c
diff options
context:
space:
mode:
Diffstat (limited to 'hacks/rocks.c')
-rw-r--r--hacks/rocks.c11
1 files changed, 11 insertions, 0 deletions
diff --git a/hacks/rocks.c b/hacks/rocks.c
index 5a976df..fea3660 100644
--- a/hacks/rocks.c
+++ b/hacks/rocks.c
@@ -505,6 +505,17 @@ rocks_event (Display *dpy, Window window, void *closure, XEvent *event)
static void
rocks_free (Display *dpy, Window window, void *closure)
{
+ struct state *st = (struct state *) closure;
+ int i;
+ for (i = 0; i < MAX_SIZE; i++)
+ if (st->pixmaps[i]) XFreePixmap (dpy, st->pixmaps[i]);
+ for (i = 0; i < st->ncolors; i++)
+ if (st->draw_gcs[i]) XFreeGC (dpy, st->draw_gcs[i]);
+ XFreeGC (dpy, st->erase_gc);
+ free (st->colors);
+ free (st->rocks);
+ free (st->draw_gcs);
+ free (st);
}