[546681] Fix NPEs when closing editors asynchronously

Patch https://git.eclipse.org/r/c/125716 on the platform cleans up
some fields which asynchronous callbacks used to access for closing
the editors. At the time the callbacks are executed, getPage() and
getWorkbenchWindow() now return null.

For DDiagramEditorImpl, the solution is the same that was used in GMF
Runtime 1.12.1 itself, but it is reproduced here to avoid the bug when
running with previous versions of GMF.

For tables & trees, we rely on our own helpers as the context if
different and we do not have access to all the methods needed for the
GMF solution.

Bug: 546681
Change-Id: I9a7831ea2643c7f7b8090633f524e2c035406fc8
Signed-off-by: Pierre-Charles David <pierre-charles.david@obeo.fr>
3 files changed
tree: 0a147a433d5d2f1d4d79d74f5641f41d45275c53
  1. .gitattributes
  2. .gitignore
  3. .travis.yml
  4. CONTRIBUTING
  5. Jenkinsfile
  6. LICENSE
  7. NOTICE
  8. README.md
  9. build.sh
  10. packaging/
  11. plugins/
  12. pom.xml
  13. releng/
README.md

Eclipse Sirius

Build Status

Sirius enables the specification of a modeling workbench in terms of graphical, table or tree editors with validation rules and actions using declarative descriptions.

For more details see the project page and the main wiki page.

Building

The build uses Tycho. To launch a complete build, issue

mvn clean package

from the top-level directory. The resulting update-site (p2 repository) can be found in packaging/org.eclipse.sirius.update/target/repository.

By default the build uses a Neon-based target platform. You can specify a different platform like this:

mvn clean package -Dplatform-version-name=name

where name can be any of the following values:

  • mars (Eclipse 4.5)
  • neon (Eclipse 4.6, the default and reference target platform)
  • canary (uses nightly builds of all our dependencies, only used for testing)

The corresponding target platform definitions can be found in releng/org.eclipse.sirius.targets.