diff -pru blackbox-cvs.verbose/src/blackbox.cc blackbox-cvs/src/blackbox.cc
--- blackbox-cvs.verbose/src/blackbox.cc	Thu Jul 11 14:58:52 2002
+++ blackbox-cvs/src/blackbox.cc	Thu Jul 11 14:55:42 2002
@@ -329,6 +329,10 @@ void Blackbox::process_event(XEvent *e) 
     } else {
       BScreen *screen = searchScreen(e->xmaprequest.parent);
 
+      XWindowAttributes wattrib;
+      Status get_attr_success =
+        XGetWindowAttributes(getXDisplay(), e->xmaprequest.window, &wattrib);
+
       if (! screen) {
         /*
           we got a map request for a window who's parent isn't root. this
@@ -341,18 +345,20 @@ void Blackbox::process_event(XEvent *e) 
           regardless of how it happens, we need to find the screen that
           the window is on
         */
-        XWindowAttributes wattrib;
-        if (! XGetWindowAttributes(getXDisplay(), e->xmaprequest.window,
-                                   &wattrib)) {
+        if (! get_attr_success) {
           // failed to get the window attributes, perhaps the window has
           // now been destroyed?
           break;
         }
-
+        fprintf(stderr, "tracked down the root for 0x%lx\n",
+                e->xmaprequest.window); 
         screen = searchScreen(wattrib.root);
         assert(screen != 0); // this should never happen
       }
 
+      fprintf(stderr, "0x%lx: before manage (%d, %d) w: %d, h: %d\n",
+              e->xmaprequest.window,
+              wattrib.x, wattrib.y, wattrib.width, wattrib.height);
       screen->manageWindow(e->xmaprequest.window);
     }

