X-Git-Url: http://git.hungrycats.org/cgi-bin/gitweb.cgi?p=xscreensaver;a=blobdiff_plain;f=hacks%2Fgoop.c;h=02a5b11352ff3f439c59d2f98f1df59066e1bfba;hp=d2308386d6551101aecb180cbca173740c16c0dc;hb=6f5482d73adb0165c0130bb47d852644ab0c4869;hpb=c70f94f648d51bb4828193124f325fa52b0e57f3 diff --git a/hacks/goop.c b/hacks/goop.c index d2308386..02a5b113 100644 --- a/hacks/goop.c +++ b/hacks/goop.c @@ -339,7 +339,9 @@ make_goop (Screen *screen, Visual *visual, Window window, Colormap cmap, goop->nlayers = get_integer_resource (dpy, "planes", "Planes"); if (goop->nlayers <= 0) goop->nlayers = (random() % (depth-2)) + 2; - goop->layers = (struct layer **) malloc(sizeof(*goop->layers)*goop->nlayers); + if (! goop->layers) + goop->layers = (struct layer **) + malloc(sizeof(*goop->layers)*goop->nlayers); goop->additive_p = get_boolean_resource (dpy, "additive", "Additive"); goop->cmap_p = has_writable_cells (screen, visual); @@ -542,7 +544,11 @@ static void goop_reshape (Display *dpy, Window window, void *closure, unsigned int w, unsigned int h) { - /* #### write me */ + struct goop *goop = (struct goop *) closure; + + /* #### leaks like crazy */ + struct goop *goop2 = goop_init (dpy, window); + memcpy (goop, goop2, sizeof(*goop)); } static Bool