Community
Participate
Working Groups
Created attachment 233532 [details] Test project that shows the incorrect behavior I have an 3.6.2 RCP application that is basically a jface wizard. I need a workbench only so I can use the help system. I only want the jface wizard launched I don't want the workbench launched. To get this to only show the wizard on 3.6.2 I implemented the postStartup() method my ApplicationWorkbenchAdvisor class. It basically did the creation of the wizard and launched it. I needed to setBlockOnOpen to false so that I could use progress monitors (indeterminate) in the application. Now I moved to a 4.3 eclipse base and tried to run this 3.6.2 application from that. It no longer works. The behavior in 4.3 is that is shows the workbench window as well as my jface wizard. I am stumped as to how to fix this. I have attached a small sample application that shows this issue. Note: If I set setBlockOnOpen(true) then I don't see the workbench window but then my progress monitors (indeterminate) no longer work. So that is not an option. I need help asap as I have a schedule to make in a couple of weeks.
Daniel, could you please have a look at this bug? PW
Is there any update on this problem? I need to know if there is a fix or a way to work around this asap. If not I am going to quickly come up with a Plan B as my due date is the end of this week!
2 things I noticed: 1) simply returning true from testrcp.ApplicationWorkbenchAdvisor.openWindows() used to open no windows. Now we don't use that path at all. This is an API regression. 2) It looks like in org.eclipse.e4.ui.internal.workbench.swt.PartRenderingEngine.run(MApplicationElement, IEclipseContext) the display loop will only run as long as one of the MApplication children is visible ... but in 3.x we can support a workbench display loop with no windows. I think that these are probably a little complicated to put in an SR release without a lot of testing. PW
*** Bug 417802 has been marked as a duplicate of this bug. ***
Need to exit the workbench if org.eclipse.ant.internal.ui.AntRunnerWorkbenchAdvisor.openWindows() return false. PW
Possible fix for the ant case: https://git.eclipse.org/r/16890 This is a hack. For the ant case, openWindows() returns false and causes us to bail. For the IDE case openWindows() returns true but does almost nothing. But it's possible for RCP apps to do other things in there, and I'm not sure of the impact. PW
A 4.2.2+ version of the fix. It takes into account that one shouldn't save the model after declaring the program unstartable. https://git.eclipse.org/r/18842 PW
What kind of timeline are we looking at to get this resolved? This has become a key issue for my team. A patch (even a hack) to get around this until a proper fix is available would be a great start. Thanks Bryan
We are encountering this issue when running org.eclipse.ant.ui.antRunner... The scenario described in duplicate Bug 417802. I would be interested in seeing the 4.2.2 fix applied to Kepler. If I am reading the GIT details right, that fix has only been merged to a 4.2 maintenance branch and not Kepler. That fix may not cover all the scenarios, but it should address the scenario we are having issues with.
(In reply to Paul Webster from comment #6) > Possible fix for the ant case: https://git.eclipse.org/r/16890 Updated fix for the ant case for master. It honours the openWindows() call and doesn't update the model state for a path that says it's to exit instead of open the windows. PW
Released as http://git.eclipse.org/c/platform/eclipse.platform.ui.git/commit/?id=7100b5419eb9ccf20faab903bded57be07355a8e I've opened Bug 424127 to consider moving the Workbench startup that builds the model. PW
In 4.4.0.I20140120-2000 PW
Thanks for the fix Paul... We tried the fix in a nightly 4.3 maintenance build and things are good for our scenario.