diff options
author | Simon Rettberg | 2019-02-18 11:55:41 +0100 |
---|---|---|
committer | Simon Rettberg | 2019-02-18 11:55:41 +0100 |
commit | ae69a754244c4e475c8d2591772ca8e005071d83 (patch) | |
tree | 58b3fa7abc2dcfe3c23e1c0ce108950c720826ab /hacks/blitspin.c | |
parent | Update gitignore (diff) | |
download | xscreensaver-ae69a754244c4e475c8d2591772ca8e005071d83.tar.gz xscreensaver-ae69a754244c4e475c8d2591772ca8e005071d83.tar.xz xscreensaver-ae69a754244c4e475c8d2591772ca8e005071d83.zip |
Update to 5.42
Diffstat (limited to 'hacks/blitspin.c')
-rw-r--r-- | hacks/blitspin.c | 21 |
1 files changed, 18 insertions, 3 deletions
diff --git a/hacks/blitspin.c b/hacks/blitspin.c index d27271d..00d9109 100644 --- a/hacks/blitspin.c +++ b/hacks/blitspin.c @@ -256,11 +256,13 @@ blitspin_init (Display *d_arg, Window w_arg) bitmap_name = get_string_resource (st->dpy, "bitmap", "Bitmap"); if (! bitmap_name || !*bitmap_name) - bitmap_name = "(default)"; + bitmap_name = strdup ("(default)"); if (!strcasecmp (bitmap_name, "(default)") || - !strcasecmp (bitmap_name, "default")) - bitmap_name = "(screen)"; + !strcasecmp (bitmap_name, "default")) { + free (bitmap_name); + bitmap_name = strdup ("(screen)"); + } if (!strcasecmp (bitmap_name, "(builtin)") || !strcasecmp (bitmap_name, "builtin")) @@ -309,6 +311,7 @@ blitspin_init (Display *d_arg, Window w_arg) blitspin_init_2 (st); } + if (bitmap_name) free (bitmap_name); return st; } @@ -421,6 +424,18 @@ blitspin_event (Display *dpy, Window window, void *closure, XEvent *event) static void blitspin_free (Display *dpy, Window window, void *closure) { + struct state *st = (struct state *) closure; +# ifdef USE_XCOPYAREA + if (st->gc_set) XFreeGC (dpy, st->gc_set); + if (st->gc_clear) XFreeGC (dpy, st->gc_clear); + if (st->gc_copy) XFreeGC (dpy, st->gc_copy); + if (st->gc_and) XFreeGC (dpy, st->gc_and); + if (st->gc_or) XFreeGC (dpy, st->gc_or); + if (st->gc_xor) XFreeGC (dpy, st->gc_xor); +# endif + if (st->gc) XFreeGC (dpy, st->gc); + XFreePixmap (dpy, st->bitmap); + free (st); } |