# HG changeset patch # User Richard M. Stallman # Date 771896077 0 # Node ID 4dbba88e2717fa12225f77d05929293d0286841c # Parent db1785b91d0305321ce9f20670d379be41e1534b (x_real_positions): Make sure we know the parent window. diff -r db1785b91d03 -r 4dbba88e2717 src/xfns.c --- 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)