steve@acorn.UUCP (Steve "daffy" Hunt) (10/21/88)
Has anyone else noticed the problem with XtTranslateCoords()? If your shell widget has been reparented, e.g. by Awm putting a frame around it, then XtTranslateCoords gets the translation wrong. This is because it tries to do the translation without going to the server. It runs up the widget tree, adding corner offsets as it goes, until it gets to a ShellWidget. At this point it assumes that the shell widget's window is a direct child of the root window, and returns. So if the shell widget's window has been reparented, the translated coordinates are wrong. The fix? For now, I've replaced the code in Geometry.c:XtTranslateCoords() with something that calls XTranslateCoordinates. Maybe there is a better way; if there is, and it does not involve massive changes to Xt, I'd be interested to hear. I'd also be interested in hearing of any other problems that the shell-widget-is-root-child assumption might be causing. -- Steve Hunt.