[comp.windows.x] XtTranslateCoords does not work.

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.