On Mon, 21 Apr 2025 19:52:18 GMT, Jeremy Wood <[email protected]> wrote:
> This removes the constant repainting of the AquaRootPaneUI's default button.
>
> A long time ago (before Mac OS Yosemite, around 2014) this was needed to
> match Aqua's native experience. But the default button no longer pulses, so
> we don't need to repaint ("pulse") the button continually.
>
> Here's a clip from a YouTube video I found demonstrating the pulsing effect
> that this PR removes (you may want to turn your volume off):
>
> https://github.com/user-attachments/assets/496bc003-ccba-4178-81bc-765e96d94316
>
> This PR includes a test, but this test has never failed. (That is: this PR
> does not resolve a failing test.) This test would fail if the default button
> ever looked the same as a non-default button.
>
> My primary goal here was to remove the AquaButtonUI's AncestorListener, but
> while we're here we might as well remove the AquaRootPaneUI's timer and other
> cleanup.
>
> I tried and failed to rename the `private static final byte _pulsed`
> constant. (More details
> [here](https://github.com/openjdk/jdk/commit/89d0689f226b9e883df464e6f3e8c20074970499).)
> If anyone has suggestions for how to rename that without errors please let
> me know.
This pull request has now been integrated.
Changeset: 04bb5dcf
Author: jeremy <[email protected]>
Committer: SendaoYan <[email protected]>
URL:
https://git.openjdk.org/jdk/commit/04bb5dcf5759509e0239a6049db9ae2b97880aa9
Stats: 389 lines in 5 files changed: 257 ins; 127 del; 5 mod
8355203: [macos] AquaButtonUI and AquaRootPaneUI repaint default button
unnecessarily
Reviewed-by: serb, prr
-------------
PR: https://git.openjdk.org/jdk/pull/24778