http://www.mirrorservice.org/sites/master.us.finkmirrors.net/distfiles/md5/fa43fdd68d...
[xscreensaver] / utils / grabscreen.c
index f2abe8cb678a525b0a38a682c65dea211f4bed43..9bcb4264ac90d86d283b0865347be6d1570cdec0 100644 (file)
@@ -1,4 +1,4 @@
-/* xscreensaver, Copyright (c) 1992, 1993, 1994, 1997, 1998
+/* xscreensaver, Copyright (c) 1992, 1993, 1994, 1997, 1998, 2003
  *  Jamie Zawinski <jwz@jwz.org>
  *
  * Permission to use, copy, modify, distribute, and sell this software and its
@@ -184,10 +184,12 @@ top_level_window_p (Screen *screen, Window window)
 
 
 
+static Bool error_handler_hit_p = False;
 static XErrorHandler old_ehandler = 0;
 static int
 BadWindow_ehandler (Display *dpy, XErrorEvent *error)
 {
+  error_handler_hit_p = True;
   if (error->error_code == BadWindow || error->error_code == BadDrawable)
     return 0;
   else if (!old_ehandler)
@@ -235,6 +237,7 @@ install_screen_colormaps (Screen *screen)
 
   XSync (dpy, False);
   old_ehandler = XSetErrorHandler (BadWindow_ehandler);
+  error_handler_hit_p = False;
 
   vroot = VirtualRootWindowOfScreen (screen);
   if (XQueryTree (dpy, vroot, &real_root, &parent, &kids, &nkids))