Bug 569707 - [GTK] JVM terminates with SIGTRAP on display.post(SWT.KeyDown)

Fixed multiple problems:
1) If a focused window was not found, reference was not added to the
   result of 'gdk_get_default_root_window()' which caused it to lose its
   last reference and cause JVM to die on SIGTRAP.
2) If a focused window was not found, root window was returned. To my
   understanding, sending events to this window is pointless. It also
   rendered 'if (gdkWindow == 0)' condition to be dead.
3) Focused window was searched and a reference was added even if the
   event is a mouse event, which uses its own logic for finding the
   window. This caused a memory leak due to an incorrectly added
   reference. It could also cause mouse event to be skipped if there is
   no focused window.

Change-Id: I8efd0166bda4f884a021e37eb285a3a696ade901
Signed-off-by: Alexandr Miloslavskiy <alexandr.miloslavskiy@syntevo.com>
2 files changed
tree: 2c00bb8a6e02f01690e8f8e5ac5928ffea7bde01
  1. bundles/
  2. container/
  3. examples/
  4. features/
  5. local-build/
  6. tests/
  7. .gitignore
  8. CONTRIBUTING
  9. LICENSE
  10. NOTICE
  11. pom.xml
  12. README.md
README.md

Contributing to SWT

Thanks for your interest in this project.

Developer resources:

See the following description for how to contribute a feature or a bug fix to SWT.

Information regarding source code management, builds, coding standards, and more and be found under the following link.

Contributor License Agreement:

Before your contribution can be accepted by the project, you need to create and electronically sign the Eclipse Foundation Contributor License Agreement (CLA).

Contact:

Contact the project developers via the project's “dev” list.

Search for bugs:

This project uses Bugzilla to track ongoing development and issues.

Create a new bug:

Be sure to search for existing bugs before you create another one. Remember that contributions are always welcome!