I found that when traversing through a list of menuitems in a scrollbox on a small display, I had to press the 'down' hotkey twice to go to the next menuitem, when this required the box to scroll down.
This seems to be a problem with void hotspot_traverse(short direction) in /server/input/if_hotspot.c The reason is that first the new hotspot cursor location is calculated, then the new divnode is focused (possibly causing a scroll), and then the hotspot cursor is placed on the calculated position. However, this position was calculated before the scrolling was done. Next traverse attempt, the hotspot cursor position does not match the position returned by 'hotspot_closest(x,y)' (don't exactly know what that means), and no traverse takes place. This seems to be solved by placing the hotspot cursor on its new position, before calling 'request_focus' for the new divnode. Then, the scrolling takes place after the placing of the hotspot cursor, and the cursor will be scrolled together with the hotspot. Next traverse attempt, hotspot cursor matches hotspot, and the traverse goes OK. Is this fix OK, or will it have sideeffects? If it's OK, can someone take care of changing this and checking it in? Regards, Pieter ------------------------------------------------------- SF.Net is sponsored by: Speed Start Your Linux Apps Now. Build and deploy apps & Web services for Linux with a free DVD software kit from IBM. Click Now! http://ads.osdn.com/?ad_id=1356&alloc_id=3438&op=click _______________________________________________ Pgui-devel mailing list [EMAIL PROTECTED] https://lists.sourceforge.net/lists/listinfo/pgui-devel
