summaryrefslogtreecommitdiffstats
path: root/hacks/moire.c
diff options
context:
space:
mode:
Diffstat (limited to 'hacks/moire.c')
-rw-r--r--hacks/moire.c7
1 files changed, 7 insertions, 0 deletions
diff --git a/hacks/moire.c b/hacks/moire.c
index 4add457..c688c8a 100644
--- a/hacks/moire.c
+++ b/hacks/moire.c
@@ -123,6 +123,7 @@ moire_init_1 (struct state *st)
gcv.foreground = st->colors[0].pixel;
}
+ if (st->gc) XFreeGC (st->dpy, st->gc);
st->gc = XCreateGC (st->dpy, st->window, GCForeground, &gcv);
}
@@ -240,6 +241,12 @@ moire_event (Display *dpy, Window window, void *closure, XEvent *event)
static void
moire_free (Display *dpy, Window window, void *closure)
{
+ struct state *st = (struct state *) closure;
+ if (st->draw_image)
+ destroy_xshm_image (dpy, st->draw_image, &st->shm_info);
+ XFreeGC (dpy, st->gc);
+ free (st->colors);
+ free (st);
}
XSCREENSAVER_MODULE ("Moire", moire)