Some Eclipse Foundation services are deprecated, or will be soon. Please ensure you've read this important communication.
Bug 468040 - Empty intermediate shell visible when opening an EEF dialog/wizard under Mars
Summary: Empty intermediate shell visible when opening an EEF dialog/wizard under Mars
Status: CLOSED FIXED
Alias: None
Product: EEF
Classification: Modeling
Component: General (show other bugs)
Version: unspecified   Edit
Hardware: PC Linux
: P3 critical
Target Milestone: ---   Edit
Assignee: EEF Inbox CLA
QA Contact:
URL:
Whiteboard:
Keywords:
Depends on:
Blocks:
 
Reported: 2015-05-22 10:53 EDT by Pierre-Charles David CLA
Modified: 2016-05-05 10:26 EDT (History)
2 users (show)

See Also:


Attachments
An EEF wizard with the intermediate empty shell visible (158.04 KB, image/png)
2015-05-22 10:53 EDT, Pierre-Charles David CLA
no flags Details
Tentative patch (832 bytes, patch)
2015-05-22 11:02 EDT, Pierre-Charles David CLA
no flags Details | Diff

Note You need to log in before you can comment on or make changes to this bug.
Description Pierre-Charles David CLA 2015-05-22 10:53:22 EDT
Created attachment 253690 [details]
An EEF wizard with the intermediate empty shell visible

Steps to reproduce:
1. Launch a Mars RC1 modeling package (or equivalent), with EEF 1.5 and Ecore Tools 3.0 (not tested with other versions of EEF and Ecore Tools).
2. Create a basic Ecore diagram using Ecore Tools, with at least one EClass visible on the diagram.
3. Double-click on the diagram to open the edition wizard.

In addition to the wizard itself, an empty SWT shell (competely blank/grey) is visible between the workbench and the wizard. It can not be closed until the wizard is closed, and *must* be manually closed after the wizard to get back to the workbench.

It seems specific to Mars, the same scenario with EEF 1.5, Ecore Tools 3.0 but on Luna does not show the invalid shell.

From what I saw in the code (patch incoming), I suspect that EEF had the bug basically forever, but it was made visible by some change in the Mars version of SWT (at least for Linux), which makes intermediate shells visible even if empty.

Note that I am under Linux (Ubuntu 15.04 64 bits, Java 1.8). The broken behavior happens with or without SWT_GTK3=0. I have not tested on other platforms.
Comment 1 Pierre-Charles David CLA 2015-05-22 10:54:42 EDT
Cedric, I'm adding you in CC as this impacts Ecore Tools and the Modeling package for Mars.
Comment 2 Pierre-Charles David CLA 2015-05-22 11:02:23 EDT
Created attachment 253691 [details]
Tentative patch

Here's a patch against EEF master which seems to fix the issue. Note that I am not familiar with the EEF codebase and I have not tested it extensively, so take it as a tentative fix.
Comment 3 Pierre-Charles David CLA 2015-05-22 11:25:51 EDT
https://git.eclipse.org/r/#/c/45966/ for bug 462637 looks like a good candidate for the behavior change. From the commit message: "Make sure that the parent shell is always opened before a child shell is opened." This was merged recently in SWT (about a month ago).
Comment 4 Goulwen Le Fur CLA 2015-05-29 08:20:39 EDT
Patch applied