Community
Participate
Working Groups
Suddenly the browser doesn't work anymore: when I expand a node, it displays "loading...", and the children don't load. I investigated, and found that the model change notification that used to happen, and which was supposed to refresh the browser and display the loaded node doesn't happen anymore.
Fixed in revision 4214.
I have added an explicit refresh after the value (children, text, image, ...) is computed, instead of relying on an indirect refresh through a model change notification that was supposed to trigger the refresh through a chain of events. I extracted the asynchronous computing functionality into a new class NonBlockingElementComputation<T>, and I generalized it for each possibly blocking computation done by either the label or content providers. The way it works is that it computes a value synchronously initially, and then it continues asynchronously if the computation takes too much time (> 200ms per computation). I also fixed the "browse" functionality, so that it waits for the element to be displayed (after a refresh) until it attempts to select it.
Bug solved.