X-Git-Url: http://git.hungrycats.org/cgi-bin/gitweb.cgi?p=xscreensaver;a=blobdiff_plain;f=hacks%2Fzoom.c;h=8911c7ba4cb39c1f1911d6c1b2aa991efd9442fb;hp=5e7672a2b03366f53a9e5fb3118d7198ed8c031f;hb=40eacb5812ef7c0e3374fb139afbb4f5bc8bbfb5;hpb=2c902d6065f9856adf31e8540a94f1e42e68e905 diff --git a/hacks/zoom.c b/hacks/zoom.c index 5e7672a2..8911c7ba 100644 --- a/hacks/zoom.c +++ b/hacks/zoom.c @@ -99,20 +99,21 @@ static void init_hack(Display *dpy, Window window) gcflags |= GCSubwindowMode; window_gc = XCreateGC(dpy, window, gcflags, &gcv); - grab_screen_image(xgwa.screen, window); + + orig_map = NULL; + pm = XCreatePixmap(dpy, window, sizex, sizey, xgwa.depth); + load_random_image (xgwa.screen, window, pm); + + if (!lenses) { + orig_map = XGetImage(dpy, pm, 0, 0, sizex, sizey, ~0L, ZPixmap); + XFreePixmap(dpy, pm); + pm = 0; + } /* We might have needed this to grab the image, but if we leave this set to GCSubwindowMode, then we'll *draw* right over subwindows too. */ XSetSubwindowMode (dpy, window_gc, ClipByChildren); - if (lenses) { - orig_map = NULL; - pm = XCreatePixmap(dpy, window, sizex, sizey, xgwa.depth); - XCopyArea(dpy, window, pm, window_gc, 0, 0, sizex, sizey, 0, 0); - } else { - orig_map = XGetImage(dpy, window, 0, 0, sizex, sizey, ~0L, ZPixmap); - pm = 0; - } XFillRectangle(dpy, window, window_gc, 0, 0, sizex, sizey); XSetWindowBackground(dpy, window, bg);