changeset 7946:4dbba88e2717

(x_real_positions): Make sure we know the parent window.
author Richard M. Stallman <rms@gnu.org>
date Fri, 17 Jun 1994 23:34:37 +0000
parents db1785b91d03
children 9dd69a1f4592
files src/xfns.c
diffstat 1 files changed, 17 insertions(+), 0 deletions(-) [+]
line wrap: on
line diff
--- a/src/xfns.c	Fri Jun 17 22:15:47 1994 +0000
+++ b/src/xfns.c	Fri Jun 17 23:34:37 1994 +0000
@@ -570,6 +570,23 @@
   int win_x = 0, win_y = 0;
   Window child;
 
+  /* This is pretty gross, but seems to be the easiest way out of
+     the problem that arises when restarting window-managers.  */
+
+#ifdef USE_X_TOOLKIT
+  Window outer = XtWindow (f->display.x->widget);
+#else
+  Window outer = f->display.x->window_desc;
+#endif
+  Window tmp_root_window;
+  Window *tmp_children;
+  int tmp_nchildren;
+
+  XQueryTree (x_current_display, outer, &tmp_root_window,
+	      &f->display.x->parent_desc,
+	      &tmp_children, &tmp_nchildren);
+  xfree (tmp_children);
+
   /* Find the position of the outside upper-left corner of
      the inner window, with respect to the outer window.  */
   if (f->display.x->parent_desc != ROOT_WINDOW)