Community
Participate
Working Groups
The Workbench.createDisplay() should check to see if a display exists already before creating a new one. In the case of the new launcher a splash bundle may have already created a display for splash screen purposes. Suggest checking Display.getCurrent();
Created attachment 55157 [details] proposed patch
I doubt you are able to create the display with debug options without recreating the Policy logic somewhere down below. I'm not sure what we should do about this. Maybe we could get SWT to give us API to activate debugging/tracing after the display has been created?
I think it comes down to the question of how are we getting the splash bundle activated. There are 2 options here: 1) The splash bundle is on the osgi.bundles list. With a start level of 1, we can get progress before update.configurator runs which is interesting, however this requires swt on the bundles list and a platform-dependent config.ini. In this case we wouldn't really know what debug options to use. 2) The splash bundle is not on the osgi.bundles list, it is lazy-started and the application creates it. The progress starts at the same time as it did before, and since the application is creating the splash bundle, it could choose to create the display first, or pass to the splash bundle which debug options to use.
Not for M4. Too risky.
Given that our splash implementation will be created with the workbench leaving things as it is seems fine. If an eager splash creates the display it can be responsible for providing the correct debug info. We can simply document this requirement. I'm checking in the patch.
Verified in source in I20070206-0010