Hello people, I've merged my dethreadization branch as all tests are now working. There are still some crashes from time to time but they are a lot less frequent. I think I now understand deeply what gtk.treemodel should be and I've some proposition to do to gtk developers ;-)
Possible causes of crashes : - Some access that are not thread-protected, but I haven't found any yet. - The MainTree is not threadsafe (while filteredtree is.) Next step is then to make the MainTree threadsafe, as well as the TreeNode ! - treemodel.py skipping some signals. Solving that involve manually queue received signals and process them in the good order. (and not allowing to skip a signal if it is missing) - multiple signals sent for the same state. That happens for parent with multiple paths. There are no easy fix for that but, from my tests, it looks like this is a very rare crash. Actions that need to be done : + Run the Tree_tester in a separate thread and have some race conditions in our tests. + Make the MainTree and Treenode threadsafe. (it's mainly a matter of putting a decorator on every function) + Solve the leak : purge states as soon as they are below the current treemodel state. + Solve a non-existant node crash : really delete a node from the main tree only when all the states where it appears are purged + Remove some functions from task.py (those that duplicate TreeNode functions) As usual, crashes report and traces are warmly welcome ! Lionel _______________________________________________ Mailing list: https://launchpad.net/~gtg-contributors Post to : [email protected] Unsubscribe : https://launchpad.net/~gtg-contributors More help : https://help.launchpad.net/ListHelp

