| Summary: | Imported project does not work | ||
|---|---|---|---|
| Product: | z_Archived | Reporter: | Tony Chen <chenzhh> |
| Component: | EDT | Assignee: | Tony Chen <chenzhh> |
| Status: | CLOSED FIXED | QA Contact: | |
| Severity: | critical | ||
| Priority: | P1 | CC: | jinfahua, jspadea, smythew, svihovec |
| Version: | unspecified | ||
| Target Milestone: | --- | ||
| Hardware: | PC | ||
| OS: | Windows XP | ||
| Whiteboard: | |||
|
Description
Tony Chen
The problem was because of working copy information not correctly setup when projects are imported. When I debug into the cause, it appeared that EGLModel is not setup before WorkingCopyResourceChangeProcessor tries to process resource changes. WorkingCopyResourceChangeProcessor need the EGLModel to detect which are EGL source folders so that it can filter the deltas it needs to process. EGLModel is maintained by another ResourceChangeListener EGLModelManager.deltaProcessor, Then I notice the only difference with RBD seemed to be that EGLModelManager.deltaProcessor is registered by EGLCore plugin in RBD. But in EDT, it is registered by EDTCoreIDEPlugin, and right after WorkingCopyResourceChangeProcessor. It could be the sequence that the two listeners are registered causing the problem. I moved the registration of EGLModelManager.deltaProcessor before WorkingCopyResourceChangeProcessor, and things starting to working. Although Eclipse doc said there's no way to discover the order in which listeners receive the change events, it does seem that they are receiving events in the sequences they are registered. However, we may want to review this design so that it's not depending on the sequence which is not guaranteed. Resolved Verified |