This Bugzilla instance is deprecated, and most Eclipse projects now use GitHub or Eclipse GitLab. Please see the deprecation plan for details.
Bug 277463 - Splash screen is not closed when app is running
Summary: Splash screen is not closed when app is running
Status: RESOLVED FIXED
Alias: None
Product: e4
Classification: Eclipse Project
Component: UI (show other bugs)
Version: 0.9   Edit
Hardware: PC Windows Vista
: P3 normal (vote)
Target Milestone: 1.0 RC1   Edit
Assignee: John Arthorne CLA
QA Contact: Eric Moffatt CLA
URL:
Whiteboard:
Keywords:
: 304259 (view as bug list)
Depends on:
Blocks:
 
Reported: 2009-05-22 09:45 EDT by Kai Toedter CLA
Modified: 2010-06-23 17:10 EDT (History)
7 users (show)

See Also:
john.arthorne: review? (emoffatt)


Attachments
Fix (1.86 KB, patch)
2010-06-21 16:18 EDT, John Arthorne CLA
no flags Details | Diff

Note You need to log in before you can comment on or make changes to this bug.
Description Kai Toedter CLA 2009-05-22 09:45:32 EDT
This is because:

org.eclipse.e4.workbench.ui.internal.Workbench:

public int run() {
// ...
// TODO get access to IApplicationContext to call applicationRunning()
// Platform.endSplash();

I just report this so we don't forget :)
Comment 1 Remy Suen CLA 2010-03-01 16:14:27 EST
*** Bug 304259 has been marked as a duplicate of this bug. ***
Comment 2 Eric Moffatt CLA 2010-06-21 13:54:55 EDT
Is this still an issue?
Comment 3 Eric Moffatt CLA 2010-06-21 13:55:10 EDT
If not, please close as FIXED...
Comment 4 Oleg Besedin CLA 2010-06-21 14:25:13 EDT
The splash screen of the contacts demo stays for the duration on the current build so yes, it is a problem.
Comment 5 John Arthorne CLA 2010-06-21 14:53:44 EDT
I can take a stab at this.
Comment 6 John Arthorne CLA 2010-06-21 16:17:29 EDT
There are two potential places to address this:

1) E4Workbench.createAndRunUI
2) PartRenderingEngine#run

2) has the correct behaviour from the end-user's perspective. The splash is torn down as soon as the UI window comes up. However, it requires the application lifecycle logic to be embedded in the presentation engine, which is wrong from an architectural point of view. This means each renderer would need to implement this same logic and the renderer needs to know about the equinox app lifecycle.

1) Is the best central place in the workbench, so that all workbench-based applications will get the splash taken down regardless of what presentation engine is plugged in. However the end user experience is bad. The splash comes down and there is a gap of potentially several seconds before the window comes up. This leaves the impression that the application has died.

The problem here is that "create and run" are lumped into a single method in the presentation API. Ideally "create" and "run" would be split in two, and the framework (workbench) could handle and steps required in between UI creation and invocation of the event loop.

I will attach a patch for solution 2) for 4.0, but this should be reconsidered post 4.0.
Comment 7 John Arthorne CLA 2010-06-21 16:18:06 EDT
Created attachment 172366 [details]
Fix
Comment 8 John Arthorne CLA 2010-06-21 16:18:53 EDT
Eric or Oleg please review.
Comment 9 John Arthorne CLA 2010-06-23 17:10:10 EDT
Fix released.