| Summary: | Package Explorer shows projects doubled | ||||||
|---|---|---|---|---|---|---|---|
| Product: | [Eclipse Project] JDT | Reporter: | Dirk Baeumer <dirk_baeumer> | ||||
| Component: | UI | Assignee: | JDT-UI-Inbox <jdt-ui-inbox> | ||||
| Status: | RESOLVED WONTFIX | QA Contact: | |||||
| Severity: | major | ||||||
| Priority: | P3 | CC: | philippe_mulet | ||||
| Version: | 3.0 | ||||||
| Target Milestone: | 3.0 | ||||||
| Hardware: | PC | ||||||
| OS: | Windows XP | ||||||
| Whiteboard: | |||||||
| Attachments: |
|
||||||
|
Description
Dirk Baeumer
Remember that the JavaModel is lazily populated, and that certain questions will trigger some initializations like for containers. In return to a container initialization, it will broadcast the changes discovered in there. Note that it should be clever enough to not broadcast changes in case identical to previous session values. The best solution we have found so far is to implement re-entrance awarness in Viewer.setInput() I would still want to understand the nature of the delta you are getting. Talking with Dirk it looks like a JRE delta, but nothing would have changed. Sounds suspicious to me. Created attachment 10644 [details]
The delta generated by Core
Philippe, I have attached the delta. I think the offending delta is a consequence of bug 61831. Dirk, could you put more info in your trace so as to better see what is going wrong ? In particular, you should enable trace for classpath initializations. The package explorer is now using a viewer which ignores changes during setInput. Dirk pls verify this in your setup. Verified in my setup and wasn't able to reproduce. thanks Dirk - closing Re: comment #9. What if the change is actually relevant ? If you start drawing the model in some state, which is changing as you go, we will update the model in memory, and broadcast a delta. This means that the picture you drew may have been changed in between, and you could have rendered some of the previous picture and some of the later picture. I think it should instead try rendering until no more concurrent delta is broadcasted; and any delta notification would cancel the ongoing rendering (next iteration would try again). I agree but this change should be done in JFace in general and not by each client. This cannot be addressed in JFace now. Therefore for 3.0 this fix has to be good enough - moving to later As of now 'LATER' and 'REMIND' resolutions are no longer supported. Please reopen this bug if it is still valid for you. |