From 587dd88e286ab489db878dc1000cdda47e90ea3f Mon Sep 17 00:00:00 2001 From: vlad Date: Wed, 18 Aug 2010 22:03:53 +0300 Subject: [PATCH] fixed problem with distort theme --- xscreensaver/hacks/distort.c | 7 ++++--- xscreensaver/utils/grabclient.c | 6 ++++-- 2 files changed, 8 insertions(+), 5 deletions(-) diff --git a/xscreensaver/hacks/distort.c b/xscreensaver/hacks/distort.c index 4e4c809..28110e9 100644 --- a/xscreensaver/hacks/distort.c +++ b/xscreensaver/hacks/distort.c @@ -105,6 +105,7 @@ static void generic_draw(struct state *st, XImage *, XImage *, int, int, int *); static void distort_finish_loading (struct state *); + static void * distort_init (Display *dpy, Window window) { @@ -116,7 +117,6 @@ distort_init (Display *dpy, Window window) st->dpy = dpy; st->window = window; - st->delay = get_integer_resource(st->dpy, "delay", "Integer"); st->duration = get_integer_resource (st->dpy, "duration", "Seconds"); st->radius = get_integer_resource(st->dpy, "radius", "Integer"); @@ -278,12 +278,13 @@ distort_init (Display *dpy, Window window) gcv.function = GXcopy; gcv.subwindow_mode = IncludeInferiors; gcflags = GCFunction; + if (use_subwindow_mode_p(st->xgwa.screen, st->window)) /* see grabscreen.c */ gcflags |= GCSubwindowMode; - st->gc = XCreateGC (st->dpy, st->window, gcflags, &gcv); + st->gc = XCreateGC (st->dpy, st->window, gcflags, &gcv); st->img_loader = load_image_async_simple (0, st->xgwa.screen, st->window, - st->window, 0, 0); + st->window, 0, 0); st->start_time = time ((time_t) 0); return st; } diff --git a/xscreensaver/utils/grabclient.c b/xscreensaver/utils/grabclient.c index 54396c7..e70474d 100644 --- a/xscreensaver/utils/grabclient.c +++ b/xscreensaver/utils/grabclient.c @@ -450,9 +450,11 @@ load_random_image_1 (Screen *screen, Window window, Drawable drawable, { Display *dpy = DisplayOfScreen (screen); char *grabber = get_string_resource(dpy, "desktopGrabber", "DesktopGrabber"); + int view = 1; char *cmd; - char id[200]; + char id[400]; + view = get_integer_resource(dpy, "view", "view"); if (!grabber || !*grabber) { fprintf (stderr, @@ -461,7 +463,7 @@ load_random_image_1 (Screen *screen, Window window, Drawable drawable, exit (1); } - sprintf (id, "0x%lx 0x%lx", + sprintf (id, "-file /home/user/.backgrounds/background-%i.png 0x%lx 0x%lx", view, (unsigned long) window, (unsigned long) drawable); cmd = (char *) malloc (strlen(grabber) + strlen(id) + 1); -- 1.7.9.5