This PR is based on top of #915 and was previously discussed on #905. The approach is to grab the keyboard focus so the window that originated the drag will keep it.
I did some cleanup on grabbing related functions as well. `gdk_keyboard_focus()` is deprecated, so is `gdk_device*` functions in favor of `gdk_seat*`. But that's only available in later Gtk versions. I checked and newer Gtk will use `gdk_seat*` inside the deprecated `gdk_keyboard_focus()`. ------------- Commit messages: - Merge remote-tracking branch 'origin/8292922_drag_events' into 8292922_drag_events - Progress - Fixes for Ubuntu 16.04 - 8292922 - [Linux] No more drag events when new Stage is created in drag handler - Merge branch 'master' into clean_glass_gtk - Merge branch 'openjdk:master' into master - Remove unused method - Merge remote-tracking branch 'origin/clean_glass_gtk' into clean_glass_gtk - Unity uses Compiz - Fix show a window minimized - ... and 29 more: https://git.openjdk.org/jfx/compare/30147d2f...ddc4c29a Changes: https://git.openjdk.org/jfx/pull/977/files Webrev: https://webrevs.openjdk.org/?repo=jfx&pr=977&range=00 Issue: https://bugs.openjdk.org/browse/JDK-8292922 Stats: 855 lines in 6 files changed: 232 ins; 464 del; 159 mod Patch: https://git.openjdk.org/jfx/pull/977.diff Fetch: git fetch https://git.openjdk.org/jfx pull/977/head:pull/977 PR: https://git.openjdk.org/jfx/pull/977