-
Notifications
You must be signed in to change notification settings - Fork 187
[win32] Fix DnD across multiple monitors #1967
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
[win32] Fix DnD across multiple monitors #1967
Conversation
af218d2 to
8fd4c01
Compare
14d5d9e to
9fd4c4a
Compare
HeikoKlare
left a comment
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
The change looks sound to me. The conversion via the control makes sense and I do not see any issues with that.
I have tested the change with different configuration and with both monitor-specific scaling enabled and disabled. I was not able to find any regressions but found the behavior for monitor-specific scaling improved in at least two kinds of cases:
- The scenario described in the PR, i.e., dragging from primary monitor (e.g., using Windows explorer) and dropping into an Eclipse application on secondary monitor
- Drag-and-drop inside an Eclipse application on the primary monitor. The video below shows the existing and improved behavior for that case.
I only have a really nitpick comment/question regarding naming, but despite that I am in favor of merging this.
bundles/org.eclipse.swt/Eclipse SWT Drag and Drop/win32/org/eclipse/swt/dnd/DropTarget.java
Outdated
Show resolved
Hide resolved
7166cfe to
da73a60
Compare
4b62fd6 to
69e450f
Compare
This commit addresses issues, when DnD across multiple monitors with monitors specific scaling is used. If the monitors have different zoom dragging into a table or tree on the second monitor will detect the wrong destination items depending on the zoom. To address this the zoom should always be inherited from the underlying control if available.
69e450f to
17c4d08
Compare
|
Merging this despite Jenkins failure caused by https://gitlab.eclipse.org/eclipsefdn/helpdesk/-/issues/5892 Since master builds seem to still work on Jenkins, the subsequent master build should hopefully work, thus I will check results of that build to retrospectively validate this PR. |
|
No new issues on subsequent master build for 6517c9e |

This PR addresses issues, when DnD across multiple monitors with monitors specific scaling is used. If the monitors have different zoom dragging into a table or tree on the second monitor will detect the wrong destination items depending on the zoom. To address this the zoom should always be inherited from the underlying control if available.
How to test
Test setup
Monitor setup with two different monitors:
Test scenario