On Wed, 15 Jul 2026 17:30:34 GMT, Phil Race <[email protected]> wrote:

>> We can remove the isXP() function from jabswitch.cpp because it deals with 
>> very ancient Windows versions we do not support any more.
>> 
>> ---------
>> - [x] I confirm that I make this contribution in accordance with the 
>> [OpenJDK Interim AI Policy](https://openjdk.org/legal/ai).
>
> src/jdk.accessibility/windows/native/jabswitch/jabswitch.cpp line 67:
> 
>> 65:     GetVersionEx( &osvi );
>> 66: 
>> 67:     if ( osvi.dwMajorVersion == 5 ) // For Windows XP and Windows 2000
> 
> This is looking for *exactly* version 5. 
> In most cases we would want to know 5 or later ..
> So I'm not sure what the actual intent was here.
> Was It written back in NT days and wanted to behave differently on XP (and 
> later) and been incorrect all this time ? Or perhaps just obsolete ?
> I'm not sure what was actually reading the registry entries.
> So I'm not sure I want to approve this fix as it stands. It needs more 
> research and understanding.

@prrace This change was initially part of #31725, but I 
[suggested](https://github.com/openjdk/jdk/pull/31725#discussion_r3513875223) 
moving it into a separate PR.

The condition `osvi.dwMajorVersion == 5` brought up two comments: the [first 
one](https://github.com/openjdk/jdk/pull/31725#discussion_r3507075501) and the 
[second one](https://github.com/openjdk/jdk/pull/31725#discussion_r3507120352).

According to my own investigation, the intent was to know whether the tool runs 
on Windows *before Vista*. Windows Vista added **Ease of Access Center**, and 
these `regEnable` and `regDisable` add an entry for *Java Access Bridge* to 
*Ease of Access Center*.

Windows XP and 2000 didn't have anything similar, therefore these registry 
entries weren't necessary.

-------------

PR Review Comment: https://git.openjdk.org/jdk/pull/31881#discussion_r3589909652

Reply via email to