When items are inserted in a partially populated treeview (whose current first child is the first visible item) using TREEVIEW_InsertItemA(), the first visible item is not correctly updated. The result is a big blank space at the top of the control, then a whole load of items drawn on top of one another... Also, the first visible item is sometimes used to calculate the location of other items when it has been freed (making valgrind shout). The attached patch fixes both problems. Seeya, Adam -- Real Programmers don't comment their code. If it was hard to write, it should be hard to read, and even harder to modify. These are all my own opinions.
Attachment:
treeview.patch
Description: Binary data