csvsj@garnet.berkeley.edu (Steve Jacobson) (09/02/89)
The HP traversal code that we've ignored for 9 months has finally reared its head: Our application's main window shell has an Athena Form widget for a child, and the Form widgets contains, among other widgets, 3 HP SWindow (scrolling window) widgets. When using dxwm, as the mouse pointer moves across the SWindow border, unexpected and undesirable behavior occurs. Title bars flash, and keyboard and colormap focus shift independently of the window manager focus mechanisms. We tracked the problem down to the _XwManagerEnter() and _XwManagerLeave() functions in the HP Manager.c file. The problem occurs for any HP manager widget that is a child of another manager widget. Without diving into this stuff all the way, we saw that these two routines only performed "traversal" functions. Since we mix Athena and HP widgets, traversal makes little sense for us (since we don't have HP hardware, it makes little sense at all). We ifdeffed out the code bodies of the two functions. Others might override the translations for <Enter> and <Leave> for HP manager widgets if they wish. This fixed the problem.