]> git.eshelyaron.com Git - emacs.git/commitdiff
(x_real_positions): Uncatch and recatch X errors in the loop.
authorKarl Heuer <kwzh@gnu.org>
Wed, 7 Jun 1995 21:02:00 +0000 (21:02 +0000)
committerKarl Heuer <kwzh@gnu.org>
Wed, 7 Jun 1995 21:02:00 +0000 (21:02 +0000)
src/xfns.c

index 104ddcd1b80dea4029ff551dbb9d5bb2235ae48f..f71c99460f427fe82b3a5493414c02e22164380f 100644 (file)
@@ -928,9 +928,10 @@ x_real_positions (f, xptr, yptr)
   Window *tmp_children;
   int tmp_nchildren;
 
-  x_catch_errors (FRAME_X_DISPLAY (f));
   while (1)
     {
+      x_catch_errors (FRAME_X_DISPLAY (f));
+
       XQueryTree (FRAME_X_DISPLAY (f), outer, &tmp_root_window,
                  &f->display.x->parent_desc,
                  &tmp_children, &tmp_nchildren);
@@ -971,6 +972,8 @@ x_real_positions (f, xptr, yptr)
         Detect that and try the whole thing over.  */
       if (! x_had_errors_p (FRAME_X_DISPLAY (f)))
        break;
+
+      x_uncatch_errors (FRAME_X_DISPLAY (f));
     }
 
   x_uncatch_errors (FRAME_X_DISPLAY (f));