The bundle net.refractions.udig.project.ui delegates some work to the display thread during bundle start:
Normally uDig starts up so slowly this code gets a chance to run before the first map is displayed. When used in an RCP application (and the GISWidget) this "luck" no longer applies and we manage to deadlock...
In summary (in Eclipse's Debug View), to us the timeline looks as follows:
|owns the default classloader||currently executed by UISynchroniser|
|waits for execution by UISynchroniser||waits for the default classloader|
- The easiest fix woudl be to replace the call with an "async" call - but I have no great idea what those Icons are for
- It would also be wise to just load the icons lazily as needed - indeed I am surprised this is not the case?