JBR-7128 Use the correct WmSize event type for JFrame moved to another monitor#381
Open
stachenov wants to merge 1042 commits intoJetBrains:mainfrom
Open
JBR-7128 Use the correct WmSize event type for JFrame moved to another monitor#381stachenov wants to merge 1042 commits intoJetBrains:mainfrom
stachenov wants to merge 1042 commits intoJetBrains:mainfrom
Conversation
* don't move into itself
* use `PKG_NAME` variable instead of `${APP_NAME}.pkg`
* cleanup sign.sh
* add `SCRIPT_VERBOSE` env variable to control `set -x`
…h -Xcheck:jni. - Create a global reference of the passed to EDT accessible object (the local reference) to use it in the AppKit thread ; - Enable -Xcheck:jni in the tests ; - Make the tests handle the problematic case . (cherry picked from commit cba981d)
…t out of the window
restore original display mode
…yTest.java: JDialog transparency lost upon iconify/deiconify sequence Corrected startRedraw method to call setNeedsDisplay in displaySync=false mode
Corrected printf format and muted unused-function option for keycode_cache.c
- verify that the popup menu is usable if overlaps WM's dock panel of the bottom of screen
Removed display sync from window layer, provide layer content updates only when necessary
…active application
…ons' release/clicked events
add mouse events logging
…tain the pressed button's modifier. Enforce keeping the pressed button in the modifiers for MOUSE_DRAGGED events. This is under a (default enabled) system property "awt.mac.enforceMouseModifiersForMouseDragged". (cherry picked from commit fb12990)
…fault (see new system property 'sun.java2d.metal.colorMatching=true/false') + added new MetalLayerColorTest Use CGColorSpaceCopyName() available since macOS 10.6 in MTLLayer Use sun.java2d.metal.colorMatching=true by default (current metal behaviour)
… Failed: OpenGL 26 image rendering failure(s) Added synchronisation for rendering and appearance
…rains#2 checkbox is not selected Fixed the test to use proper cell coordinates when clicking.
…tor with different scale
Do not search for the containing monitor in MouseInfo.getPointerInfo, this must be handled by peers (yes, this goes against the spec of MouseInfoPeer.fillPointWithCoords). JBR-5268 Fix coordinates conversion in XMouseInfoPeer.fillPointWithCoords
10cb998 to
accaa36
Compare
74fbc06 to
6f03e01
Compare
d4ff83f to
4266a28
Compare
ad75423 to
32f2f36
Compare
29cfdee to
c598bc0
Compare
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
On Windows, a JFrame may be moved to another monitor while it's maximized by pressing Win+Shift+Left/Right. When this happens, if the monitor has a different scale factor, then a fake WmSize event is sent. This fake event must use the correct type, matching the actual state of the frame, but it wasn't the case, SIZENORMAL was always used.
Fix by introducing a new virtual function that returns the event type corresponding to the actual state and override this function for AwtFrame. Since it's impossible to move a minimized window, only handle two cases: the frame is maximized or not maximized.