Hi, Just fixed a bug with windows that had the -parent option given, and were then positioned with the Left() and Top() methods. These methods were detecting that the window had a parent and were translating X (in the case of Top() ) and Y (in the case of Left() ) into the current X or Y co-ordinate minus the parent X or Y co-ordinate, causing child windows that were sent multiple Top(somenumber) or Left(somenumber) calls to "walk" horizontally or vertically across the desktop in steps dependent on the position of their parent window. Nasty.
You might be confused as to why I fixed this in quite the way I did (setting a flag in userdata if the user specifies -parent). I did this because I wanted to preserve the ability to explicitly call SetParent on a window to insert it into another window's client area. This is an especially handy trick for making hidable/moveable panes without moving all the widgets one by one. If I simply detected if the thing that was having Top/Left set was a window or not, it would not translate the co-ordinates when it should do. Anyway, I think I fixed this right. I'm tired, and a little confused now. But the fix works and I've checked it for problems. It's in 665, is that where I'm supposed to commit to still? Steve