On Mon, 21 Apr 2025 19:52:18 GMT, Jeremy Wood <d...@openjdk.org> 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 <jeremy.w...@mac.com>
Committer: SendaoYan <s...@openjdk.org>
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

Reply via email to