Skip to content
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

JBR-7128 Use the correct WmSize event type for JFrame moved to another monitor #381

Open
wants to merge 1,042 commits into
base: main
Choose a base branch
from

Conversation

stachenov
Copy link

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.

VladRassokhin and others added 30 commits May 9, 2024 02:03
* 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)
…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
…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.
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
tsarn and others added 10 commits May 9, 2024 02:03
1. As we started committing the command buffer on glyph cache flush, this invalidates the current encoder. We need to `MTLTR_ValidateGlyphCache` after the flush, not before.
2. There's no reason to maintain separate glyph cache invalidation logic for this singe case (which is a no-op in reality), so just free the cache instead.
Add a workaround for the iBus's bug which leads to the issue.

(cherry picked from commit b8e9dbf)
…r monitor

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.
@vprovodin vprovodin force-pushed the main branch 4 times, most recently from 487c23b to 45dd7d4 Compare May 14, 2024 00:03
@mkartashev
Copy link
Collaborator

Is there a youtrack issue for that?

@stachenov
Copy link
Author

What do you mean is there an issue? It's referenced in the title, as it should be: https://youtrack.jetbrains.com/issue/JBR-7128

@vprovodin vprovodin force-pushed the main branch 7 times, most recently from 5a08a7a to 8934056 Compare May 24, 2024 00:03
@vprovodin vprovodin force-pushed the main branch 3 times, most recently from 5180b19 to b5dace6 Compare May 28, 2024 00:02
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

Successfully merging this pull request may close these issues.

None yet