When changing the sort order of the ListView, the item that
is currently visible may become invisible. This is because
no repositioning of the ListView is done during the re-sort.
On ListView refresh, the position of the horizontal scroll bar
is reset. This is unwanted in most cases.
This patch addresses both issues.
The patch is made from the main trunk. Please feel free to