X-Git-Url: http://git.hungrycats.org/cgi-bin/gitweb.cgi?a=blobdiff_plain;f=utils%2Fgrabscreen.c;h=6f88e5a10dc4ad9772c8a9874cf44d41a5968a65;hb=06e9a7886a77cad92f9ddbc169d6d199a4d8b76d;hp=78c21163fe7877b757b603ceee9a0798f3e2b9d9;hpb=6bb727f03bff0389fbb1349d7df4c9d8d7532959;p=xscreensaver diff --git a/utils/grabscreen.c b/utils/grabscreen.c index 78c21163..6f88e5a1 100644 --- a/utils/grabscreen.c +++ b/utils/grabscreen.c @@ -1,5 +1,5 @@ /* xscreensaver, Copyright (c) 1992, 1993, 1994, 1997, 1998 - * Jamie Zawinski + * Jamie Zawinski * * Permission to use, copy, modify, distribute, and sell this software and its * documentation for any purpose is hereby granted without fee, provided that @@ -132,7 +132,10 @@ BadWindow_ehandler (Display *dpy, XErrorEvent *error) if (error->error_code == BadWindow || error->error_code == BadDrawable) return 0; else if (!old_ehandler) - abort(); + { + abort(); + return 0; + } else return (*old_ehandler) (dpy, error); } @@ -245,7 +248,8 @@ grab_screen_image_1 (Screen *screen, Window window) XWindowAttributes xgwa2; XGetWindowAttributes (dpy, window, &xgwa2); fprintf(stderr, "%s: ", progname); - describe_visual(stderr, screen, xgwa2.visual); + describe_visual(stderr, screen, xgwa2.visual, ####); + fprintf (stderr, "\n"); } #endif /* DEBUG */ @@ -284,6 +288,13 @@ grab_screen_image_1 (Screen *screen, Window window) #endif /* DEBUG */ copy_default_colormap_contents (screen, xgwa.colormap, xgwa.visual); raise_window(dpy, window, saver_p); + + /* Generally it's bad news to call XInstallColormap() explicitly, + but this file does a lot of sleazy stuff already... This is to + make sure that the window's colormap is installed, even in the + case where the window is OverrideRedirect. */ + if (xgwa.colormap) XInstallColormap (dpy, xgwa.colormap); + XSync (dpy, False); } } else /* root_p */