On Mon, 21 Aug 2023 10:42:07 GMT, Abhishek Kumar <abhis...@openjdk.org> wrote:
>> Disabled JPasswordField foreground color was not grayed out in GTK LAF. >> >> The foreground color in disabled state was close to black color (RGB 0,0,0) >> for password field which is not differentiable from enabled state foreground >> color. >> >> To fix for this problem, the widget type is changed to `TEXT_AREA `for >> disable password field which returns the foreground color as gray. Checked >> with Oracle linux as well and fix worked fine. >> >> An automated test case has been added and checked in CI, link is added in >> JBS. Test mentioned in JBS also works fine with the fix. > > Abhishek Kumar has updated the pull request incrementally with one additional > commit since the last revision: > > Fix extended for TextField, FormattedTextField, Spinner src/java.desktop/unix/native/libawt_xawt/awt/gtk3_interface.c line 2413: > 2411: && state_type == GTK_STATE_INSENSITIVE && color_type == > TEXT_FOREGROUND) { > 2412: widget_type = TEXT_AREA; > 2413: } I guess l2403 has same checks which can be clubbed together if (widget_type == TEXT_FIELD || widget_type == PASSWORD_FIELD || widget_type == SPINNER_TEXT_FIELD || widget_type == FORMATTED_TEXT_FIELD) { if (state_type == GTK_STATE_SELECTED && color_type == TEXT_BACKGROUND} || state_type == GTK_STATE_INSENSITIVE && color_type == TEXT_FOREGROUND) { widget_type = TEXT_AREA; } } What do you think? test/jdk/javax/swing/JPasswordField/TestDisabledPasswordFieldForegroundColor.java line 67: > 65: boolean testFail = false; > 66: robot = new Robot(); > 67: robot.setAutoDelay(1000); autoDelay normally is 100ms ------------- PR Review Comment: https://git.openjdk.org/jdk/pull/15263#discussion_r1312520289 PR Review Comment: https://git.openjdk.org/jdk/pull/15263#discussion_r1312520363