From alexandr.scherbatiy at oracle.com Tue May 5 10:18:25 2015 From: alexandr.scherbatiy at oracle.com (Alexander Scherbatiy) Date: Tue, 05 May 2015 13:18:25 +0300 Subject: [9] Review Request: JDK-8078855 [TEST_BUG] javax/swing/JComboBox/8032878/bug8032878.java fails in WindowsClassicLookAndFeel In-Reply-To: <554292E6.7080608@oracle.com> References: <554292E6.7080608@oracle.com> Message-ID: <554898F1.3060604@oracle.com> On 4/30/2015 11:39 PM, pooja chopra wrote: > Hello, > Please review a fix for issue: > 8078855 [TEST_BUG] javax/swing/JComboBox/8032878/bug8032878.java fails > in WindowsClassicLookAndFeel > Test bug fix. > https://bugs.openjdk.java.net/browse/JDK-8078855 > The webrev is : http://cr.openjdk.java.net/~pchopra/8078855/webrev.00/ Does the fix work on Mac OS X with the Aqua L&F? Thanks, Alexandr. > > Thanks, > Pooja From doychin at dsoft-bg.com Tue May 5 10:40:55 2015 From: doychin at dsoft-bg.com (Doychin Bondzhev) Date: Tue, 05 May 2015 13:40:55 +0300 Subject: Proposal for change to javax.swing.DefaultCellEditor Message-ID: <55489E37.5030403@dsoft-bg.com> Hi, guys. i can't check in the archive was this ever discussed before but here is my proposal: Right now DefaultCellEditor has 3 constructors which accept text field, check box and combo box. If you want to use another control that is more complex like panel with few buttons for example you will need to inherit from DefaultCellEditor and call any of the three constructors and then in your code to reload editor component and delegate fields with new values. What if there is default DefaultCellEditor constructor without parameters? Or the other way is to have DefaultCellEditor constructor that accepts JComponent and EditorDelegate as parameters and just stores that values in editorComponent field. It will be the responsibility of the developer that inherits the DefaultCellEditor to create an instance of EditorDelegate that implements the necessary methods needed to communicate with his JComponent instance. Any thoughts on this? -- Doychin Bondzhev dSoft-Bulgaria Ltd. PowerPro - billing & provisioning solution for Service providers PowerStor - Warehouse & POS http://www.dsoft-bg.com/ Mobile: +359888243116 -------------- next part -------------- A non-text attachment was scrubbed... Name: doychin.vcf Type: text/x-vcard Size: 268 bytes Desc: not available URL: -------------- next part -------------- A non-text attachment was scrubbed... Name: smime.p7s Type: application/pkcs7-signature Size: 5924 bytes Desc: S/MIME Cryptographic Signature URL: From doychin at dsoft-bg.com Fri May 1 15:08:03 2015 From: doychin at dsoft-bg.com (Doychin Bondzhev) Date: Fri, 01 May 2015 18:08:03 +0300 Subject: Proposal for change to javax.swing.DefaultCellEditor Message-ID: <554396D3.8060000@dsoft-bg.com> Hi, guys. i can't check in the archive was this ever discussed before but here is my proposal: Right now DefaultCellEditor has 3 constructors which accept text field, check box and combo box. If you want to use another control that is more complex like panel with few buttons for example you will need to inherit from DefaultCellEditor and call any of the three constructors and then in your code to reload editor component and delegate fields with new values. What if there is default DefaultCellEditor constructor without parameters? Or the other way is to have DefaultCellEditor constructor that accepts JComponent and EditorDelegate as parameters and just stores that values in editorComponent field. It will be the responsibility of the developer that inherits the DefaultCellEditor to create an instance of EditorDelegate that implements the necessary methods needed to communicate with his JComponent instance. Any thoughts on this? -- Doychin Bondzhev dSoft-Bulgaria Ltd. PowerPro - billing & provisioning solution for Service providers PowerStor - Warehouse & POS http://www.dsoft-bg.com/ Mobile: +359888243116 -------------- next part -------------- A non-text attachment was scrubbed... Name: doychin.vcf Type: text/x-vcard Size: 268 bytes Desc: not available URL: -------------- next part -------------- A non-text attachment was scrubbed... Name: smime.p7s Type: application/pkcs7-signature Size: 5924 bytes Desc: S/MIME Cryptographic Signature URL: From alexey.ivanov at oracle.com Tue May 5 13:16:22 2015 From: alexey.ivanov at oracle.com (Alexey Ivanov) Date: Tue, 05 May 2015 16:16:22 +0300 Subject: [9] Review Request: JDK-8078855 [TEST_BUG] javax/swing/JComboBox/8032878/bug8032878.java fails in WindowsClassicLookAndFeel In-Reply-To: <554292E6.7080608@oracle.com> References: <554292E6.7080608@oracle.com> Message-ID: <5548C2A6.5070207@oracle.com> Hello Pooja, The modified test case does not reproduce the problem reported in https://bugs.openjdk.java.net/browse/JDK-8032878. So this fix cannot be applied to the regression test. I confirm that the original test fails in WindowsClassicLookAndFeel because the editor selects the text, thus the typed text '123' is not added to existing text but replaces it. It could be a bug in WindowsClassicLookAndFeel or its feature. If it's not a bug, then the test should expect the value of "123" rather than "one123" where WindowsClassicLookAndFeel is used. Regards, Alexey On 30.04.2015 23:39, pooja chopra wrote: > Hello, > Please review a fix for issue: > 8078855 [TEST_BUG] javax/swing/JComboBox/8032878/bug8032878.java fails > in WindowsClassicLookAndFeel > Test bug fix. > https://bugs.openjdk.java.net/browse/JDK-8078855 > The webrev is : http://cr.openjdk.java.net/~pchopra/8078855/webrev.00/ > > Thanks, > Pooja From Sergey.Bylokhov at oracle.com Tue May 5 16:16:19 2015 From: Sergey.Bylokhov at oracle.com (Sergey Bylokhov) Date: Tue, 05 May 2015 19:16:19 +0300 Subject: [9] Review Request: 6206437 Typo in JInternalFrame setDefaultCloseOperation() doc (WindowClosing --> internalFrameClosing) Message-ID: <5548ECD3.5000009@oracle.com> Hello. Please review the fix for a small typo. Bug: https://bugs.openjdk.java.net/browse/JDK-6206437 Webrev can be found at: http://cr.openjdk.java.net/~serb/6206437/webrev.00 -- Best regards, Sergey. From pooja.chopra at oracle.com Wed May 6 06:18:50 2015 From: pooja.chopra at oracle.com (pooja chopra) Date: Wed, 06 May 2015 11:48:50 +0530 Subject: [9] Review Request: JDK-8079428 [TEST_BUG] Test javax/swing/plaf/windows/6921687/bug6921687.java fails Message-ID: <5549B24A.40800@oracle.com> Hello, Please review a fix for issue: 8079428 [TEST_BUG] Test javax/swing/plaf/windows/6921687/bug6921687.java Test bug fix. https://bugs.openjdk.java.net/browse/JDK-8079428 The webrev is : http://cr.openjdk.java.net/~pchopra/8079428/webrev.00/ Thanks, Pooja From alexander.zvegintsev at oracle.com Wed May 6 09:00:55 2015 From: alexander.zvegintsev at oracle.com (Alexander Zvegintsev) Date: Wed, 06 May 2015 12:00:55 +0300 Subject: [9] Review Request: 6206437 Typo in JInternalFrame setDefaultCloseOperation() doc (WindowClosing --> internalFrameClosing) In-Reply-To: <5548ECD3.5000009@oracle.com> References: <5548ECD3.5000009@oracle.com> Message-ID: <5549D847.9010809@oracle.com> Hello Sergey, the fix looks fine to me. Thanks, Alexander. On 05/05/2015 07:16 PM, Sergey Bylokhov wrote: > Hello. > Please review the fix for a small typo. > > Bug: https://bugs.openjdk.java.net/browse/JDK-6206437 > Webrev can be found at: > http://cr.openjdk.java.net/~serb/6206437/webrev.00 > From alexander.zvegintsev at oracle.com Wed May 6 09:05:15 2015 From: alexander.zvegintsev at oracle.com (Alexander Zvegintsev) Date: Wed, 06 May 2015 12:05:15 +0300 Subject: [9] Review Request: JDK-8079428 [TEST_BUG] Test javax/swing/plaf/windows/6921687/bug6921687.java fails In-Reply-To: <5549B24A.40800@oracle.com> References: <5549B24A.40800@oracle.com> Message-ID: <5549D94B.5070406@oracle.com> Hello Pooja, the fix looks fine to me. Thanks, Alexander. On 05/06/2015 09:18 AM, pooja chopra wrote: > Hello, > Please review a fix for issue: > 8079428 [TEST_BUG] Test javax/swing/plaf/windows/6921687/bug6921687.java > Test bug fix. > https://bugs.openjdk.java.net/browse/JDK-8079428 > The webrev is : http://cr.openjdk.java.net/~pchopra/8079428/webrev.00/ > > Thanks, > Pooja From Sergey.Bylokhov at oracle.com Wed May 6 12:29:21 2015 From: Sergey.Bylokhov at oracle.com (Sergey Bylokhov) Date: Wed, 06 May 2015 15:29:21 +0300 Subject: [9] Review Request: JDK-8079428 [TEST_BUG] Test javax/swing/plaf/windows/6921687/bug6921687.java fails In-Reply-To: <5549B24A.40800@oracle.com> References: <5549B24A.40800@oracle.com> Message-ID: <554A0921.3010502@oracle.com> Hello, It seems that this is a bug in the jtreg because according its specification: "If no |@run| tags are present in a defining file, a default is assumed depending upon the file's filename extension" File type Default Notes .java |@run main | is the name of the file without the ".java" suffix .sh |@run shell | .html |@run applet | Jonathan do you know something about this issue? On 06.05.15 9:18, pooja chopra wrote: > Hello, > Please review a fix for issue: > 8079428 [TEST_BUG] Test javax/swing/plaf/windows/6921687/bug6921687.java > Test bug fix. > https://bugs.openjdk.java.net/browse/JDK-8079428 > The webrev is : http://cr.openjdk.java.net/~pchopra/8079428/webrev.00/ > > Thanks, > Pooja -- Best regards, Sergey. -------------- next part -------------- An HTML attachment was scrubbed... URL: From alexey.ivanov at oracle.com Wed May 6 13:30:25 2015 From: alexey.ivanov at oracle.com (Alexey Ivanov) Date: Wed, 06 May 2015 16:30:25 +0300 Subject: [9] Review request for 8033069: mouse wheel scroll closes combobox popup Message-ID: <554A1771.60103@oracle.com> Hello Swing team, Could you please review the fix: bug: https://bugs.openjdk.java.net/browse/JDK-8033069 webrev: http://cr.openjdk.java.net/~aivanov/8033069/jdk9/webrev.00/ Description: If you rotate mouse wheel when combo box popup is open, the popup gets closed. The fix is to always consume MOUSE_WHEEL event. There are two regression tests for the cases where popup has vertical scroll bar and does not have scroll bar. Thanks, Alexey From alexey.ivanov at oracle.com Wed May 6 13:45:57 2015 From: alexey.ivanov at oracle.com (Alexey Ivanov) Date: Wed, 06 May 2015 16:45:57 +0300 Subject: [9] Review Request: JDK-8079428 [TEST_BUG] Test javax/swing/plaf/windows/6921687/bug6921687.java fails In-Reply-To: <554A0921.3010502@oracle.com> References: <5549B24A.40800@oracle.com> <554A0921.3010502@oracle.com> Message-ID: <554A1B15.9060507@oracle.com> Hello, I faced this problem too, and only with JDK 9. If there's no @run tag in the java file, the main method of the test is not run. However in my case, the test reported success where I expected failure. Regards, Alexey On 06.05.2015 15:29, Sergey Bylokhov wrote: > Hello, > It seems that this is a bug in the jtreg because according its > specification: > > "If no |@run| tags are present in a defining file, a default is > assumed depending upon the file's filename extension" > > File type Default Notes > .java |@run main | is the name of the file without the > ".java" suffix > .sh |@run shell | > .html |@run applet | > > > Jonathan do you know something about this issue? > > On 06.05.15 9:18, pooja chopra wrote: >> Hello, >> Please review a fix for issue: >> 8079428 [TEST_BUG] Test javax/swing/plaf/windows/6921687/bug6921687.java >> Test bug fix. >> https://bugs.openjdk.java.net/browse/JDK-8079428 >> The webrev is : http://cr.openjdk.java.net/~pchopra/8079428/webrev.00/ >> >> Thanks, >> Pooja > > > -- > Best regards, Sergey. From yuri.nesterenko at oracle.com Wed May 6 13:53:43 2015 From: yuri.nesterenko at oracle.com (Yuri Nesterenko) Date: Wed, 06 May 2015 16:53:43 +0300 Subject: [9] Review Request: JDK-8079428 [TEST_BUG] Test javax/swing/plaf/windows/6921687/bug6921687.java fails In-Reply-To: <554A1B15.9060507@oracle.com> References: <5549B24A.40800@oracle.com> <554A0921.3010502@oracle.com> <554A1B15.9060507@oracle.com> Message-ID: <554A1CE7.7010609@oracle.com> I guess the @build instruction here adds some degree of uncertainty: jtreg may not be able to determine which class to run. -yan On 05/06/2015 04:45 PM, Alexey Ivanov wrote: > Hello, > > I faced this problem too, and only with JDK 9. If there's no @run tag in > the java file, the main method of the test is not run. However in my > case, the test reported success where I expected failure. > > Regards, > Alexey > > On 06.05.2015 15:29, Sergey Bylokhov wrote: >> Hello, >> It seems that this is a bug in the jtreg because according its >> specification: >> >> "If no |@run| tags are present in a defining file, a default is >> assumed depending upon the file's filename extension" >> >> File type Default Notes >> .java |@run main | is the name of the file >> without the ".java" suffix >> .sh |@run shell | >> .html |@run applet | >> >> >> Jonathan do you know something about this issue? >> >> On 06.05.15 9:18, pooja chopra wrote: >>> Hello, >>> Please review a fix for issue: >>> 8079428 [TEST_BUG] Test javax/swing/plaf/windows/6921687/bug6921687.java >>> Test bug fix. >>> https://bugs.openjdk.java.net/browse/JDK-8079428 >>> The webrev is : http://cr.openjdk.java.net/~pchopra/8079428/webrev.00/ >>> >>> Thanks, >>> Pooja >> >> >> -- >> Best regards, Sergey. > From alexandr.scherbatiy at oracle.com Wed May 6 14:11:36 2015 From: alexandr.scherbatiy at oracle.com (Alexander Scherbatiy) Date: Wed, 06 May 2015 17:11:36 +0300 Subject: [9] Review Request: JDK-8079428 [TEST_BUG] Test javax/swing/plaf/windows/6921687/bug6921687.java fails In-Reply-To: <554A0921.3010502@oracle.com> References: <5549B24A.40800@oracle.com> <554A0921.3010502@oracle.com> Message-ID: <554A2118.403@oracle.com> This is the known issue in jtreg: CODETOOLS-7901378 Test result error when @build used without @run main https://bugs.openjdk.java.net/browse/CODETOOLS-7901378 It is closed as not an issue but I would argue against it. It definitely worked in jtreg 4.1 fcs b05. Why tests which pass with jtreg 4.1 b05 started to fail in b11? Thanks, Alexandr. On 5/6/2015 3:29 PM, Sergey Bylokhov wrote: > Hello, > It seems that this is a bug in the jtreg because according its > specification: > > "If no |@run| tags are present in a defining file, a default is > assumed depending upon the file's filename extension" > > File type Default Notes > .java |@run main | is the name of the file without the > ".java" suffix > .sh |@run shell | > .html |@run applet | > > > Jonathan do you know something about this issue? > > On 06.05.15 9:18, pooja chopra wrote: >> Hello, >> Please review a fix for issue: >> 8079428 [TEST_BUG] Test javax/swing/plaf/windows/6921687/bug6921687.java >> Test bug fix. >> https://bugs.openjdk.java.net/browse/JDK-8079428 >> The webrev is : http://cr.openjdk.java.net/~pchopra/8079428/webrev.00/ >> >> Thanks, >> Pooja > > > -- > Best regards, Sergey. From alexandr.scherbatiy at oracle.com Wed May 6 14:15:29 2015 From: alexandr.scherbatiy at oracle.com (Alexander Scherbatiy) Date: Wed, 06 May 2015 17:15:29 +0300 Subject: Proposal for change to javax.swing.DefaultCellEditor In-Reply-To: <55489E37.5030403@dsoft-bg.com> References: <55489E37.5030403@dsoft-bg.com> Message-ID: <554A2201.1070203@oracle.com> Could you file an enhancement on your proposal in http://bugreport.java.com/bugreport Thanks, Alexandr. On 5/5/2015 1:40 PM, Doychin Bondzhev wrote: > Hi, guys. > > i can't check in the archive was this ever discussed before but here > is my proposal: > > Right now DefaultCellEditor has 3 constructors which accept text > field, check box and combo box. > > If you want to use another control that is more complex like panel > with few buttons for example you will need to inherit from > DefaultCellEditor and call any of the three constructors and then in > your code to reload editor component and delegate fields with new values. > > What if there is default DefaultCellEditor constructor without > parameters? > > Or the other way is to have DefaultCellEditor constructor that accepts > JComponent and EditorDelegate as parameters and just stores that > values in editorComponent field. It will be the responsibility of the > developer that inherits the DefaultCellEditor to create an instance of > EditorDelegate that implements the necessary methods needed to > communicate with his JComponent instance. > > Any thoughts on this? > From alexandr.scherbatiy at oracle.com Wed May 6 15:09:27 2015 From: alexandr.scherbatiy at oracle.com (Alexander Scherbatiy) Date: Wed, 06 May 2015 18:09:27 +0300 Subject: [9] Review Request: 6206437 Typo in JInternalFrame setDefaultCloseOperation() doc (WindowClosing --> internalFrameClosing) In-Reply-To: <5549D847.9010809@oracle.com> References: <5548ECD3.5000009@oracle.com> <5549D847.9010809@oracle.com> Message-ID: <554A2EA7.8090801@oracle.com> The fix looks good to me. Thanks, Alexandr. On 5/6/2015 12:00 PM, Alexander Zvegintsev wrote: > Hello Sergey, > > the fix looks fine to me. > > Thanks, > > Alexander. > > On 05/05/2015 07:16 PM, Sergey Bylokhov wrote: >> Hello. >> Please review the fix for a small typo. >> >> Bug: https://bugs.openjdk.java.net/browse/JDK-6206437 >> Webrev can be found at: >> http://cr.openjdk.java.net/~serb/6206437/webrev.00 >> > From Sergey.Bylokhov at oracle.com Wed May 6 15:34:38 2015 From: Sergey.Bylokhov at oracle.com (Sergey Bylokhov) Date: Wed, 06 May 2015 18:34:38 +0300 Subject: [9] Review Request: JDK-8079428 [TEST_BUG] Test javax/swing/plaf/windows/6921687/bug6921687.java fails In-Reply-To: <554A2118.403@oracle.com> References: <5549B24A.40800@oracle.com> <554A0921.3010502@oracle.com> <554A2118.403@oracle.com> Message-ID: <554A348E.5070008@oracle.com> After discussion we confirm that the problem in the tests. This fix looks fine. On 06.05.15 17:11, Alexander Scherbatiy wrote: > > This is the known issue in jtreg: CODETOOLS-7901378 Test result error > when @build used without @run main > https://bugs.openjdk.java.net/browse/CODETOOLS-7901378 > > It is closed as not an issue but I would argue against it. It > definitely worked in jtreg 4.1 fcs b05. > Why tests which pass with jtreg 4.1 b05 started to fail in b11? > > Thanks, > Alexandr. > > > On 5/6/2015 3:29 PM, Sergey Bylokhov wrote: >> Hello, >> It seems that this is a bug in the jtreg because according its >> specification: >> >> "If no |@run| tags are present in a defining file, a default is >> assumed depending upon the file's filename extension" >> >> File type Default Notes >> .java |@run main | is the name of the file >> without the ".java" suffix >> .sh |@run shell | >> .html |@run applet | >> >> >> Jonathan do you know something about this issue? >> >> On 06.05.15 9:18, pooja chopra wrote: >>> Hello, >>> Please review a fix for issue: >>> 8079428 [TEST_BUG] Test >>> javax/swing/plaf/windows/6921687/bug6921687.java >>> Test bug fix. >>> https://bugs.openjdk.java.net/browse/JDK-8079428 >>> The webrev is : http://cr.openjdk.java.net/~pchopra/8079428/webrev.00/ >>> >>> Thanks, >>> Pooja >> >> >> -- >> Best regards, Sergey. > -- Best regards, Sergey. From Sergey.Bylokhov at oracle.com Wed May 6 19:08:46 2015 From: Sergey.Bylokhov at oracle.com (Sergey Bylokhov) Date: Wed, 06 May 2015 22:08:46 +0300 Subject: [9] Review Request: 8078149 [macosx] The text of the TextArea is not wrapped at word boundaries Message-ID: <554A66BE.2020206@oracle.com> Hello. Please review the fix for a small fix. This is the problem in lwawt, which was fixed in xawt already: https://bugs.openjdk.java.net/browse/JDK-4992455 " 1. About line wrapping property. "JTextArea has a bound property for line wrapping that controls whether or not it will wrap lines. By default, the line wrapping property is set to false (not wrapped)." 2. About wrapping style property. "If set to true the lines will be wrapped at word boundaries (whitespace) if they are too long to fit within the allocated width. If set to false, the lines will be wrapped at character boundaries. By default this property is false." Since we use JTextArea in XAWT as the TextArea component we should use the following code if we want to wrap lines at word boundaries: jtext.setLineWrap(true); jtext.setWrapStyleWord(true); " Bug: https://bugs.openjdk.java.net/browse/JDK-8078149 Webrev can be found at: http://cr.openjdk.java.net/~serb/8078149/webrev.00 -- Best regards, Sergey. From Sergey.Bylokhov at oracle.com Wed May 6 19:28:09 2015 From: Sergey.Bylokhov at oracle.com (Sergey Bylokhov) Date: Wed, 06 May 2015 22:28:09 +0300 Subject: [9] Review request for 8033069: mouse wheel scroll closes combobox popup In-Reply-To: <554A1771.60103@oracle.com> References: <554A1771.60103@oracle.com> Message-ID: <554A6B49.7000705@oracle.com> Hi, Alexey. The changes in the BasicPopupMenuUI does not look clear, I am not sure but probably it will be better to implement it in the same way as for MOUSE_PRESSED(via UIManager property)? It will add an additional configuration possibility. Can you also confirm that the case when the user install mouse wheel listener to the JComboBox still works. On 06.05.15 16:30, Alexey Ivanov wrote: > Hello Swing team, > > Could you please review the fix: > bug: https://bugs.openjdk.java.net/browse/JDK-8033069 > webrev: http://cr.openjdk.java.net/~aivanov/8033069/jdk9/webrev.00/ > > Description: > If you rotate mouse wheel when combo box popup is open, the popup gets > closed. > > The fix is to always consume MOUSE_WHEEL event. > > There are two regression tests for the cases where popup has vertical > scroll bar and does not have scroll bar. > > Thanks, > Alexey -- Best regards, Sergey. -------------- next part -------------- An HTML attachment was scrubbed... URL: From Sergey.Bylokhov at oracle.com Wed May 6 19:52:45 2015 From: Sergey.Bylokhov at oracle.com (Sergey Bylokhov) Date: Wed, 06 May 2015 22:52:45 +0300 Subject: [9] Review Request: 8013820 JavaDoc for JSpinner contains errors Message-ID: <554A710D.9070101@oracle.com> Hello. Please review the fix for a typo in jdk9. Bug: https://bugs.openjdk.java.net/browse/JDK-8013820 Webrev can be found at: http://cr.openjdk.java.net/~serb/8013820/webrev.00 -- Best regards, Sergey. From Sergey.Bylokhov at oracle.com Thu May 7 11:46:36 2015 From: Sergey.Bylokhov at oracle.com (Sergey Bylokhov) Date: Thu, 07 May 2015 14:46:36 +0300 Subject: [9] Review Request: 5036022: JSpinner does not reflect new font on subsequent calls to setFont Message-ID: <554B509C.1000909@oracle.com> Hello. Please review the fix for jdk9. All our UI components use a UIResource to store some l&f related data, such as fonts, colors and so on. This makes the logic of changing one l&f to another one simple. Because we can understand the difference, between the resources, which were set by the l&f, and resources, which were set by the user. If resource was set by the l&f, it can be replaced by the new l&f or by another UI component, but resources which were set by the user should be preserved. This rule is not fully followed in the Spinner**UI. It can contains two elements: spinner and textfield in the editor. If the user sets the font of the spinner UI component, it automatically update the font of the textfield if it was not set by the user directly. But it doesn't wrap this font into UIResource and later this causes assumption that this font was changed by the user directly, and this is wrong. Bug: https://bugs.openjdk.java.net/browse/JDK-5036022 Webrev can be found at: http://cr.openjdk.java.net/~serb/5036022/webrev.00 -- Best regards, Sergey. From alexander.zvegintsev at oracle.com Thu May 7 12:06:53 2015 From: alexander.zvegintsev at oracle.com (Alexander Zvegintsev) Date: Thu, 07 May 2015 15:06:53 +0300 Subject: [9] Review Request: 8013820 JavaDoc for JSpinner contains errors In-Reply-To: <554A710D.9070101@oracle.com> References: <554A710D.9070101@oracle.com> Message-ID: <554B555D.5070101@oracle.com> looks fine. Thanks, Alexander. On 05/06/2015 10:52 PM, Sergey Bylokhov wrote: > Hello. > Please review the fix for a typo in jdk9. > > Bug: https://bugs.openjdk.java.net/browse/JDK-8013820 > Webrev can be found at: > http://cr.openjdk.java.net/~serb/8013820/webrev.00 > From alexey.ivanov at oracle.com Thu May 7 12:31:16 2015 From: alexey.ivanov at oracle.com (Alexey Ivanov) Date: Thu, 07 May 2015 15:31:16 +0300 Subject: [9] Review request for 8033069: mouse wheel scroll closes combobox popup In-Reply-To: <554A6B49.7000705@oracle.com> References: <554A1771.60103@oracle.com> <554A6B49.7000705@oracle.com> Message-ID: <554B5B14.40505@oracle.com> Hi Sergey, The changes in BasicPopupMenuUI are similar to handling mouse events for JMenu. The popup stays open if user rotates wheel over combo box that opened the popup but the popup will be canceled if wheel is rotated over another combo box or any other component. The client property "doNotCancelPopup" is set for each combo box because MOUSE_PRESS logic is in BasicComboPopup.Handler.mousePressed. If you click another combo box, it will open its own popup which automatically hides the popup that was visible. In case of MOUSE_WHEEL, combo box over which mouse wheel is rotated should close the popup of another combo box that opened the popup; and it should do nothing if its own popup is open. Moving this logic into JComboBox MouseWheelListener seems too complicated. As for user-installed MouseWheelListener on JComboBox, of course mouseWheelMoved is called but MouseWheelEvent is already marked consumed. It might have a negative effect on user code if they check isConsumed() flag. If the event is not consumed, the popup will be closed. Regards, Alexey On 06.05.2015 22:28, Sergey Bylokhov wrote: > Hi, Alexey. > The changes in the BasicPopupMenuUI does not look clear, I am not sure > but probably it will be better to implement it in the same way as for > MOUSE_PRESSED(via UIManager property)? It will add an additional > configuration possibility. > Can you also confirm that the case when the user install mouse wheel > listener to the JComboBox still works. > > On 06.05.15 16:30, Alexey Ivanov wrote: >> Hello Swing team, >> >> Could you please review the fix: >> bug: https://bugs.openjdk.java.net/browse/JDK-8033069 >> webrev: http://cr.openjdk.java.net/~aivanov/8033069/jdk9/webrev.00/ >> >> Description: >> If you rotate mouse wheel when combo box popup is open, the popup >> gets closed. >> >> The fix is to always consume MOUSE_WHEEL event. >> >> There are two regression tests for the cases where popup has vertical >> scroll bar and does not have scroll bar. >> >> Thanks, >> Alexey > > > -- > Best regards, Sergey. -------------- next part -------------- An HTML attachment was scrubbed... URL: From alexander.zvegintsev at oracle.com Thu May 7 12:48:15 2015 From: alexander.zvegintsev at oracle.com (Alexander Zvegintsev) Date: Thu, 07 May 2015 15:48:15 +0300 Subject: [9] Review Request: 5036022: JSpinner does not reflect new font on subsequent calls to setFont In-Reply-To: <554B509C.1000909@oracle.com> References: <554B509C.1000909@oracle.com> Message-ID: <554B5F0F.8030807@oracle.com> looks fine to me. Thanks, Alexander. On 05/07/2015 02:46 PM, Sergey Bylokhov wrote: > Hello. > Please review the fix for jdk9. > > All our UI components use a UIResource to store some l&f related data, > such as fonts, colors and so on. This makes the logic of changing one > l&f to another one simple. Because we can understand the difference, > between the resources, which were set by the l&f, and resources, > which were set by the user. If resource was set by the l&f, it can be > replaced by the new l&f or by another UI component, but resources > which were set by the user should be preserved. > > This rule is not fully followed in the Spinner**UI. It can contains > two elements: spinner and textfield in the editor. If the user sets > the font of the spinner UI component, it automatically update the font > of the textfield if it was not set by the user directly. But it > doesn't wrap this font into UIResource and later this causes > assumption that this font was changed by the user directly, and this > is wrong. > > Bug: https://bugs.openjdk.java.net/browse/JDK-5036022 > Webrev can be found at: > http://cr.openjdk.java.net/~serb/5036022/webrev.00 > From alexander.zvegintsev at oracle.com Thu May 7 13:26:57 2015 From: alexander.zvegintsev at oracle.com (Alexander Zvegintsev) Date: Thu, 07 May 2015 16:26:57 +0300 Subject: [9] Review Request: 8078149 [macosx] The text of the TextArea is not wrapped at word boundaries In-Reply-To: <554A66BE.2020206@oracle.com> References: <554A66BE.2020206@oracle.com> Message-ID: <554B6821.2040906@oracle.com> the fix looks fine to me. Thanks, Alexander. On 05/06/2015 10:08 PM, Sergey Bylokhov wrote: > Hello. > Please review the fix for a small fix. > This is the problem in lwawt, which was fixed in xawt already: > > https://bugs.openjdk.java.net/browse/JDK-4992455 > > " 1. About line wrapping property. > > "JTextArea has a bound property for line wrapping that controls > whether or not it will wrap lines. By default, the line > wrapping property is set to false (not wrapped)." > > 2. About wrapping style property. > > "If set to true the lines will be wrapped at word boundaries > (whitespace) if they are too long to fit within the allocated > width. If set to false, the lines will be wrapped at character > boundaries. By default this property is false." > > Since we use JTextArea in XAWT as the TextArea component we > should use the following code if we want to wrap lines at word > boundaries: > > jtext.setLineWrap(true); > jtext.setWrapStyleWord(true); > " > > Bug: https://bugs.openjdk.java.net/browse/JDK-8078149 > Webrev can be found at: > http://cr.openjdk.java.net/~serb/8078149/webrev.00 > From vivi.an at oracle.com Thu May 7 16:57:16 2015 From: vivi.an at oracle.com (Vivi An) Date: Thu, 07 May 2015 09:57:16 -0700 Subject: [9] Review Request for 8075609: java.lang.IllegalArgumentException: aContainer is not a focus cycle root of aComponent In-Reply-To: <55415965.6090209@oracle.com> References: <55415965.6090209@oracle.com> Message-ID: <554B996C.4020708@oracle.com> Hello, anyone can help to get this item reviewed? Thanks again! Vivi On 4/29/2015 3:21 PM, Vivi An wrote: > Hello, > > Could you please review below bug fix? > > Change made using focusCycleRoot to get root container of the > component's focus traversal cycle, instead of using getWindowAncestor > to find root window, since the focus root is not always a window. Test > case provided too. > > Bug: https://bugs.openjdk.java.net/browse/JDK-8075609 > Webrev: http://cr.openjdk.java.net/~van/8075609/webrev.00/ > > Thank you > > Regards, > > ~ Vivi > > > > > > > From jason_mehrens at hotmail.com Thu May 7 20:08:30 2015 From: jason_mehrens at hotmail.com (Jason Mehrens) Date: Thu, 7 May 2015 15:08:30 -0500 Subject: JDK-8023043 : Clipboard.getAvailableDataFlavors: Comparison method violates contract In-Reply-To: References: , , <5537AAD2.2040107@oracle.com>, Message-ID: Anton, I finally caught this error in production. I patched our code to launch a JVM (with mergesort) using your test case, modifed to output the JVM version followed by the output when this error occurs. The output is as follows: ============================================================================== 1.7.0_80-b15 java.awt.datatransfer.DataFlavor[mimetype=application/x-java-serialized-object;representationclass=java.lang.String] java.awt.datatransfer.DataFlavor[mimetype=application/x-java-text-encoding;representationclass=[B] java.awt.datatransfer.DataFlavor[mimetype=text/plain;representationclass=java.io.Reader] java.awt.datatransfer.DataFlavor[mimetype=text/plain;representationclass=java.lang.String] java.awt.datatransfer.DataFlavor[mimetype=text/plain;representationclass=java.nio.CharBuffer] java.awt.datatransfer.DataFlavor[mimetype=text/plain;representationclass=[C] java.awt.datatransfer.DataFlavor[mimetype=text/plain;representationclass=java.io.InputStream;charset=unicode] java.awt.datatransfer.DataFlavor[mimetype=text/plain;representationclass=java.nio.ByteBuffer;charset=UTF-16] java.awt.datatransfer.DataFlavor[mimetype=text/plain;representationclass=[B;charset=UTF-16] java.awt.datatransfer.DataFlavor[mimetype=text/plain;representationclass=java.io.InputStream;charset=UTF-8] java.awt.datatransfer.DataFlavor[mimetype=text/plain;representationclass=java.nio.ByteBuffer;charset=UTF-8] java.awt.datatransfer.DataFlavor[mimetype=text/plain;representationclass=[B;charset=UTF-8] java.awt.datatransfer.DataFlavor[mimetype=text/plain;representationclass=java.io.InputStream;charset=UTF-16BE] java.awt.datatransfer.DataFlavor[mimetype=text/plain;representationclass=java.nio.ByteBuffer;charset=UTF-16BE] java.awt.datatransfer.DataFlavor[mimetype=text/plain;representationclass=[B;charset=UTF-16BE] java.awt.datatransfer.DataFlavor[mimetype=text/plain;representationclass=java.io.InputStream;charset=UTF-16LE] java.awt.datatransfer.DataFlavor[mimetype=text/plain;representationclass=java.nio.ByteBuffer;charset=UTF-16LE] java.awt.datatransfer.DataFlavor[mimetype=text/plain;representationclass=[B;charset=UTF-16LE] java.awt.datatransfer.DataFlavor[mimetype=text/plain;representationclass=java.io.InputStream;charset=ISO-8859-1] java.awt.datatransfer.DataFlavor[mimetype=text/plain;representationclass=java.nio.ByteBuffer;charset=ISO-8859-1] java.awt.datatransfer.DataFlavor[mimetype=text/plain;representationclass=[B;charset=ISO-8859-1] java.awt.datatransfer.DataFlavor[mimetype=text/plain;representationclass=java.io.InputStream;charset=windows-1252] java.awt.datatransfer.DataFlavor[mimetype=text/plain;representationclass=java.nio.ByteBuffer;charset=windows-1252] java.awt.datatransfer.DataFlavor[mimetype=text/plain;representationclass=[B;charset=windows-1252] java.awt.datatransfer.DataFlavor[mimetype=text/plain;representationclass=java.io.InputStream;charset=US-ASCII] java.awt.datatransfer.DataFlavor[mimetype=text/plain;representationclass=java.nio.ByteBuffer;charset=US-ASCII] java.awt.datatransfer.DataFlavor[mimetype=text/plain;representationclass=[B;charset=US-ASCII] ================================================================================== Jason ---------------------------------------- > From: jason_mehrens at hotmail.com > To: anton.nashatyrev at oracle.com > Date: Wed, 22 Apr 2015 14:59:26 -0500 > CC: swing-dev at openjdk.java.net > Subject: Re: JDK-8023043 : Clipboard.getAvailableDataFlavors: Comparison method violates contract > > Anton, > > > Thanks for looking at this. Sorry I don't have a test case to give you yet. For sure the machines are using JDK7u80 that are reproducing the error. The common case is that the user is copying text from an email client and then pasting it in to a JTextField. So I imagine that the content type of email is a factor in producing this issue. > > > What I'll do is convert your ClipboardDump into the codebase so that I can just log that information as soon as it happens. We'll see how long it takes to catch this fish. > > > Thanks, > > > Jason > > > > > > ---------------------------------------- >> Date: Wed, 22 Apr 2015 17:06:10 +0300 >> From: anton.nashatyrev at oracle.com >> To: jason_mehrens at hotmail.com >> CC: swing-dev at openjdk.java.net >> Subject: Re: JDK-8023043 : Clipboard.getAvailableDataFlavors: Comparison method violates contract >> >> Hi Jason, >> >> I've commented in the bug report: >> >> Couldn't reproduce locally. >> Please next time the problem is reproduced on your side, run the small >> program below and attach its output to this bug (or file a new one). >> Make sure NOT using the system clipboard from the moment of exception >> till running the test program. >> >> import java.awt.*; >> import java.awt.datatransfer.DataFlavor; >> >> public class ClipboardDump { >> public static void main(String[] args) { >> System.setProperty("java.util.Arrays.useLegacyMergeSort", "true"); >> >> DataFlavor[] dataFlavors = >> Toolkit.getDefaultToolkit().getSystemClipboard(). >> getAvailableDataFlavors(); >> >> for (DataFlavor df: dataFlavors) { >> System.out.println(df); >> } >> } >> } >> >> Please also make sure you are running 7u80 (not an earlier version) >> since the Comparator fix was integrated to 7u80 >> >> Thanks! >> Anton. >> On 21.04.2015 17:29, Jason Mehrens wrote: >>> Hello Swing-Dev, >>> >>> >>> >>> Recently we have updated to JDK7u80 and have noticed a pattern of users generating the following error: >>> >>> >>> >>> ================== >>> >>> java.lang.IllegalArgumentException: Comparison method violates its general contract! >>> >>> at java.util.TimSort.mergeHi(Unknown Source) >>> >>> at java.util.TimSort.mergeAt(Unknown Source) >>> >>> at java.util.TimSort.mergeCollapse(Unknown Source) >>> >>> at java.util.TimSort.sort(Unknown Source) >>> >>> at java.util.TimSort.sort(Unknown Source) >>> >>> at java.util.Arrays.sort(Unknown Source) >>> >>> at sun.awt.datatransfer.DataTransferer.setToSortedDataFlavorArray(Unknown Source) >>> >>> at sun.awt.datatransfer.ClipboardTransferable.(Unknown Source) >>> >>> at sun.awt.datatransfer.SunClipboard.getContents(Unknown Source) >>> >>> at javax.swing.TransferHandler$TransferAction.actionPerformedImpl(Unknown Source) >>> >>> at javax.swing.TransferHandler$TransferAction.access$700(Unknown Source) >>> >>> at javax.swing.TransferHandler$TransferAction$1.run(Unknown Source) >>> >>> at javax.swing.TransferHandler$TransferAction$1.run(Unknown Source) >>> >>> at java.security.AccessController.doPrivileged(Native Method) >>> >>> at java.security.ProtectionDomain$1.doIntersectionPrivilege(Unknown Source) >>> >>> at java.security.ProtectionDomain$1.doIntersectionPrivilege(Unknown Source) >>> >>> at javax.swing.TransferHandler$TransferAction$2.run(Unknown Source) >>> >>> at javax.swing.TransferHandler$TransferAction$2.run(Unknown Source) >>> >>> at java.security.AccessController.doPrivileged(Native Method) >>> >>> at java.security.ProtectionDomain$1.doIntersectionPrivilege(Unknown Source) >>> >>> at javax.swing.TransferHandler$TransferAction.actionPerformed(Unknown Source) >>> >>> at javax.swing.text.JTextComponent.invokeAction(Unknown Source) >>> >>> at javax.swing.text.JTextComponent.paste(Unknown Source) >>> >>> at javax.swing.text.DefaultEditorKit$PasteAction.actionPerformed(Unknown Source) >>> >>> at javax.swing.SwingUtilities.notifyAction(Unknown Source) >>> >>> at javax.swing.JComponent.processKeyBinding(Unknown Source) >>> >>> at javax.swing.JComponent.processKeyBindings(Unknown Source) >>> >>> at javax.swing.JComponent.processKeyEvent(Unknown Source) >>> >>> at java.awt.Component.processEvent(Unknown Source) >>> >>> at java.awt.Container.processEvent(Unknown Source) >>> >>> at java.awt.Component.dispatchEventImpl(Unknown Source) >>> >>> at java.awt.Container.dispatchEventImpl(Unknown Source) >>> >>> at java.awt.Component.dispatchEvent(Unknown Source) >>> >>> at java.awt.KeyboardFocusManager.redispatchEvent(Unknown Source) >>> >>> at java.awt.DefaultKeyboardFocusManager.dispatchKeyEvent(Unknown Source) >>> >>> at java.awt.DefaultKeyboardFocusManager.preDispatchKeyEvent(Unknown Source) >>> >>> at java.awt.DefaultKeyboardFocusManager.typeAheadAssertions(Unknown Source) >>> >>> at java.awt.DefaultKeyboardFocusManager.dispatchEvent(Unknown Source) >>> >>> at java.awt.Component.dispatchEventImpl(Unknown Source) >>> >>> at java.awt.Container.dispatchEventImpl(Unknown Source) >>> >>> at java.awt.Window.dispatchEventImpl(Unknown Source) >>> >>> at java.awt.Component.dispatchEvent(Unknown Source) >>> >>> at java.awt.EventQueue.dispatchEventImpl(Unknown Source) >>> >>> at java.awt.EventQueue.access$300(Unknown Source) >>> >>> at java.awt.EventQueue$3.run(Unknown Source) >>> >>> at java.awt.EventQueue$3.run(Unknown Source) >>> >>> at java.security.AccessController.doPrivileged(Native Method) >>> >>> at java.security.ProtectionDomain$1.doIntersectionPrivilege(Unknown Source) >>> >>> at java.security.ProtectionDomain$1.doIntersectionPrivilege(Unknown Source) >>> >>> at java.awt.EventQueue$4.run(Unknown Source) >>> >>> at java.awt.EventQueue$4.run(Unknown Source) >>> >>> at java.security.AccessController.doPrivileged(Native Method) >>> >>> at java.security.ProtectionDomain$1.doIntersectionPrivilege(Unknown Source) >>> >>> at java.awt.EventQueue.dispatchEvent(Unknown Source) >>> >>> at java.awt.EventDispatchThread.pumpOneEventForFilters(Unknown Source) >>> >>> at java.awt.EventDispatchThread.pumpEventsForFilter(Unknown Source) >>> >>> at java.awt.EventDispatchThread.pumpEventsForHierarchy(Unknown Source) >>> >>> at java.awt.EventDispatchThread.pumpEvents(Unknown Source) >>> >>> at java.awt.EventDispatchThread.pumpEvents(Unknown Source) >>> >>> at java.awt.EventDispatchThread.run(Unknown Source) >>> >>> ============= >>> >>> >>> >>> When I check the issue tracker http://bugs.java.com/view_bug.do?bug_id=8023043 shows as fixed in 7u60. Did this get fixed in 7u60 through 7u80? The stacktrace is a little different from that bug so should I file this as a new issue? >>> >>> >>> >>> Thanks, >>> >>> >>> >>> Jason >>> >> From semyon.sadetsky at oracle.com Fri May 8 08:47:54 2015 From: semyon.sadetsky at oracle.com (Semyon Sadetsky) Date: Fri, 08 May 2015 11:47:54 +0300 Subject: [9] Review Request for 8079640: GroupLayout incorrect layout with large JTextArea Message-ID: <554C783A.4080606@oracle.com> Hello, Please review fix for JDK9: bug: https://bugs.openjdk.java.net/browse/JDK-8079640 webrev: http://cr.openjdk.java.net/~ssadetsky/8079640/webrev.00/ *THE ROOT CAUSE Component minimum size is limited to Short.MAX_VALUE in GroupLayout. JDK turtorial https://docs.oracle.com/javase/tutorial/uiswing/layout/group.html tells that Short.MAX_VALUE is treated as infinite. But I did not find any reasons in JDK specs why a bigger number cannot be used. *SOLUTION Remove the limitation *TESTING Test is added to cover the large component scenario. Existing GroupLayout tests are passed. --Semyon From semyon.sadetsky at oracle.com Fri May 8 08:51:32 2015 From: semyon.sadetsky at oracle.com (Semyon Sadetsky) Date: Fri, 08 May 2015 11:51:32 +0300 Subject: [9] Review Request for 6260348: GTK+ L&F JTextComponent not respecting desktop caret blink rate In-Reply-To: <553E4836.3040408@oracle.com> References: <5539004F.9060705@oracle.com> <553E4836.3040408@oracle.com> Message-ID: <554C7914.7040802@oracle.com> Hi Alexander, gboolean and gint are equivalent. --Semyon On 4/27/2015 5:31 PM, Alexander Scherbatiy wrote: > On 4/23/2015 5:23 PM, Semyon Sadetsky wrote: >> Hello, >> >> Please review fix for JDK9: >> >> web rev: http://cr.openjdk.java.net/~ssadetsky/6260348/webrev.00/ >> bug: https://bugs.openjdk.java.net/browse/JDK-6260348 > > gtk2_interface.c > 2510 gint intval = NULL; > 2511 (*fp_g_object_get)(settings, key, &intval, NULL); > 2512 return create_Boolean(env, intval); > > Probably the type of the value should be gboolean. > > Thanks, > Alexandr. > >> >> ***ROOT CAUSE >> GTK L&F never took care about native GTK cursor blink settings. >> >> ***SOLUTION >> Implement this feature. >> >> ***TESTING >> Two test scenarios added. 1st sets GTK cursor blink enabled and blink >> time 200 ms. 2nd disables cursor blinking. Then Java text caret is >> checked to respect these settings. >> >> --Semyon >> >> > From semyon.sadetsky at oracle.com Fri May 8 09:13:40 2015 From: semyon.sadetsky at oracle.com (Semyon Sadetsky) Date: Fri, 08 May 2015 12:13:40 +0300 Subject: [9] Review Request for 7172652: With JDK 1.7 text field does not obtain focus when using mnemonic Alt/Key combin In-Reply-To: <553F8B9E.1090904@oracle.com> References: <55351307.4020504@oracle.com> <553F8B9E.1090904@oracle.com> Message-ID: <554C7E44.1050304@oracle.com> updated: http://cr.openjdk.java.net/~ssadetsky/7172652/webrev.01/ On 4/28/2015 4:31 PM, Alexander Scherbatiy wrote: > > Is it possible to make code shorter by adding methods like: > putOnRelease(InputMap inputMap, int keyCode, int modifiers) > removeOnRelease(InputMap inputMap, int keyCode, int modifiers) > > Thanks, > Alexandr. > > On 4/20/2015 5:53 PM, Semyon Sadetsky wrote: >> Hello, >> >> please review a fix for JDK9: >> >> webrev: http://cr.openjdk.java.net/~ssadetsky/7172652/webrev.00/ >> bug: https://bugs.openjdk.java.net/browse/JDK-7172652 >> >> ***ROOT CAUSE >> This is a bug in Label UI's key release event processing routine for >> key mnemonics: only one release event is captured instead of two (Alt >> release and the mnemonic key release). The Alt release event goes up >> on hierarchy and is captured by the parent internal frame's menu bar >> for which Alt key release means selection change event under the >> Windows system LnF. >> >> ***SOLUTION >> Change key release event handling logic to capture events from both >> Alt modifier and the key. The logic takes into account that when the >> first release key event come it transfers focus back to the field so >> the second key release event should be captured from any window >> component. >> >> ***TESTING >> A simple scenario is written to exclusively cover the situation. >> >> --Semyon >> > From anton.tarasov at oracle.com Fri May 8 09:52:25 2015 From: anton.tarasov at oracle.com (Anton V. Tarasov) Date: Fri, 08 May 2015 12:52:25 +0300 Subject: [9] Review Request for 8075609: java.lang.IllegalArgumentException: aContainer is not a focus cycle root of aComponent In-Reply-To: <55415965.6090209@oracle.com> References: <55415965.6090209@oracle.com> Message-ID: <554C8759.6040102@oracle.com> Hi Vivi, Looks fine to me. Regards, Anton. On 30.04.2015 1:21, Vivi An wrote: > Hello, > > Could you please review below bug fix? > > Change made using focusCycleRoot to get root container of the component's focus traversal cycle, > instead of using getWindowAncestor to find root window, since the focus root is not always a > window. Test case provided too. > > Bug: https://bugs.openjdk.java.net/browse/JDK-8075609 > Webrev: http://cr.openjdk.java.net/~van/8075609/webrev.00/ > > Thank you > > Regards, > > ~ Vivi > > > > > > > From alexandr.scherbatiy at oracle.com Fri May 8 11:57:09 2015 From: alexandr.scherbatiy at oracle.com (Alexander Scherbatiy) Date: Fri, 08 May 2015 14:57:09 +0300 Subject: [9] Review Request: 8078149 [macosx] The text of the TextArea is not wrapped at word boundaries In-Reply-To: <554B6821.2040906@oracle.com> References: <554A66BE.2020206@oracle.com> <554B6821.2040906@oracle.com> Message-ID: <554CA495.5030007@oracle.com> The fix looks good to me. Thanks, Alexandr. On 5/7/2015 4:26 PM, Alexander Zvegintsev wrote: > the fix looks fine to me. > > Thanks, > > Alexander. > > On 05/06/2015 10:08 PM, Sergey Bylokhov wrote: >> Hello. >> Please review the fix for a small fix. >> This is the problem in lwawt, which was fixed in xawt already: >> >> https://bugs.openjdk.java.net/browse/JDK-4992455 >> >> " 1. About line wrapping property. >> >> "JTextArea has a bound property for line wrapping that controls >> whether or not it will wrap lines. By default, the line >> wrapping property is set to false (not wrapped)." >> >> 2. About wrapping style property. >> >> "If set to true the lines will be wrapped at word boundaries >> (whitespace) if they are too long to fit within the allocated >> width. If set to false, the lines will be wrapped at character >> boundaries. By default this property is false." >> >> Since we use JTextArea in XAWT as the TextArea component we >> should use the following code if we want to wrap lines at word >> boundaries: >> >> jtext.setLineWrap(true); >> jtext.setWrapStyleWord(true); >> " >> >> Bug: https://bugs.openjdk.java.net/browse/JDK-8078149 >> Webrev can be found at: >> http://cr.openjdk.java.net/~serb/8078149/webrev.00 >> > From alexandr.scherbatiy at oracle.com Fri May 8 11:59:31 2015 From: alexandr.scherbatiy at oracle.com (Alexander Scherbatiy) Date: Fri, 08 May 2015 14:59:31 +0300 Subject: [9] Review Request: 8013820 JavaDoc for JSpinner contains errors In-Reply-To: <554B555D.5070101@oracle.com> References: <554A710D.9070101@oracle.com> <554B555D.5070101@oracle.com> Message-ID: <554CA523.9050405@oracle.com> The fix looks good to me. Thanks, Alexandr. On 5/7/2015 3:06 PM, Alexander Zvegintsev wrote: > looks fine. > > Thanks, > > Alexander. > > On 05/06/2015 10:52 PM, Sergey Bylokhov wrote: >> Hello. >> Please review the fix for a typo in jdk9. >> >> Bug: https://bugs.openjdk.java.net/browse/JDK-8013820 >> Webrev can be found at: >> http://cr.openjdk.java.net/~serb/8013820/webrev.00 >> > From alexandr.scherbatiy at oracle.com Fri May 8 12:14:45 2015 From: alexandr.scherbatiy at oracle.com (Alexander Scherbatiy) Date: Fri, 08 May 2015 15:14:45 +0300 Subject: [9] Review Request: 5036022: JSpinner does not reflect new font on subsequent calls to setFont In-Reply-To: <554B5F0F.8030807@oracle.com> References: <554B509C.1000909@oracle.com> <554B5F0F.8030807@oracle.com> Message-ID: <554CA8B5.8060400@oracle.com> The fix looks good to me. Thanks, Alexandr. On 5/7/2015 3:48 PM, Alexander Zvegintsev wrote: > looks fine to me. > > Thanks, > > Alexander. > > On 05/07/2015 02:46 PM, Sergey Bylokhov wrote: >> Hello. >> Please review the fix for jdk9. >> >> All our UI components use a UIResource to store some l&f related >> data, such as fonts, colors and so on. This makes the logic of >> changing one l&f to another one simple. Because we can understand the >> difference, between the resources, which were set by the l&f, and >> resources, which were set by the user. If resource was set by the >> l&f, it can be replaced by the new l&f or by another UI component, >> but resources which were set by the user should be preserved. >> >> This rule is not fully followed in the Spinner**UI. It can contains >> two elements: spinner and textfield in the editor. If the user sets >> the font of the spinner UI component, it automatically update the >> font of the textfield if it was not set by the user directly. But it >> doesn't wrap this font into UIResource and later this causes >> assumption that this font was changed by the user directly, and this >> is wrong. >> >> Bug: https://bugs.openjdk.java.net/browse/JDK-5036022 >> Webrev can be found at: >> http://cr.openjdk.java.net/~serb/5036022/webrev.00 >> > From alexandr.scherbatiy at oracle.com Fri May 8 12:38:06 2015 From: alexandr.scherbatiy at oracle.com (Alexander Scherbatiy) Date: Fri, 08 May 2015 15:38:06 +0300 Subject: JDK-8023043 : Clipboard.getAvailableDataFlavors: Comparison method violates contract In-Reply-To: References: , , <5537AAD2.2040107@oracle.com>, Message-ID: <554CAE2E.7080308@oracle.com> Hi Jason, Please, file it as a new issue in http://bugreport.java.com/bugreport Thanks, Alexandr. On 5/7/2015 11:08 PM, Jason Mehrens wrote: > Anton, > > > I finally caught this error in production. I patched our code to launch a JVM (with mergesort) using your test case, modifed to output the JVM version followed by the output when this error occurs. The output is as follows: > > > > ============================================================================== > > 1.7.0_80-b15 > > java.awt.datatransfer.DataFlavor[mimetype=application/x-java-serialized-object;representationclass=java.lang.String] > > java.awt.datatransfer.DataFlavor[mimetype=application/x-java-text-encoding;representationclass=[B] > > java.awt.datatransfer.DataFlavor[mimetype=text/plain;representationclass=java.io.Reader] > > java.awt.datatransfer.DataFlavor[mimetype=text/plain;representationclass=java.lang.String] > > java.awt.datatransfer.DataFlavor[mimetype=text/plain;representationclass=java.nio.CharBuffer] > > java.awt.datatransfer.DataFlavor[mimetype=text/plain;representationclass=[C] > > java.awt.datatransfer.DataFlavor[mimetype=text/plain;representationclass=java.io.InputStream;charset=unicode] > > java.awt.datatransfer.DataFlavor[mimetype=text/plain;representationclass=java.nio.ByteBuffer;charset=UTF-16] > > java.awt.datatransfer.DataFlavor[mimetype=text/plain;representationclass=[B;charset=UTF-16] > > java.awt.datatransfer.DataFlavor[mimetype=text/plain;representationclass=java.io.InputStream;charset=UTF-8] > > java.awt.datatransfer.DataFlavor[mimetype=text/plain;representationclass=java.nio.ByteBuffer;charset=UTF-8] > > java.awt.datatransfer.DataFlavor[mimetype=text/plain;representationclass=[B;charset=UTF-8] > > java.awt.datatransfer.DataFlavor[mimetype=text/plain;representationclass=java.io.InputStream;charset=UTF-16BE] > > java.awt.datatransfer.DataFlavor[mimetype=text/plain;representationclass=java.nio.ByteBuffer;charset=UTF-16BE] > > java.awt.datatransfer.DataFlavor[mimetype=text/plain;representationclass=[B;charset=UTF-16BE] > > java.awt.datatransfer.DataFlavor[mimetype=text/plain;representationclass=java.io.InputStream;charset=UTF-16LE] > > java.awt.datatransfer.DataFlavor[mimetype=text/plain;representationclass=java.nio.ByteBuffer;charset=UTF-16LE] > > java.awt.datatransfer.DataFlavor[mimetype=text/plain;representationclass=[B;charset=UTF-16LE] > > java.awt.datatransfer.DataFlavor[mimetype=text/plain;representationclass=java.io.InputStream;charset=ISO-8859-1] > > java.awt.datatransfer.DataFlavor[mimetype=text/plain;representationclass=java.nio.ByteBuffer;charset=ISO-8859-1] > > java.awt.datatransfer.DataFlavor[mimetype=text/plain;representationclass=[B;charset=ISO-8859-1] > > java.awt.datatransfer.DataFlavor[mimetype=text/plain;representationclass=java.io.InputStream;charset=windows-1252] > > java.awt.datatransfer.DataFlavor[mimetype=text/plain;representationclass=java.nio.ByteBuffer;charset=windows-1252] > > java.awt.datatransfer.DataFlavor[mimetype=text/plain;representationclass=[B;charset=windows-1252] > > java.awt.datatransfer.DataFlavor[mimetype=text/plain;representationclass=java.io.InputStream;charset=US-ASCII] > > java.awt.datatransfer.DataFlavor[mimetype=text/plain;representationclass=java.nio.ByteBuffer;charset=US-ASCII] > > java.awt.datatransfer.DataFlavor[mimetype=text/plain;representationclass=[B;charset=US-ASCII] > > ================================================================================== > > > > Jason > > > > ---------------------------------------- >> From: jason_mehrens at hotmail.com >> To: anton.nashatyrev at oracle.com >> Date: Wed, 22 Apr 2015 14:59:26 -0500 >> CC: swing-dev at openjdk.java.net >> Subject: Re: JDK-8023043 : Clipboard.getAvailableDataFlavors: Comparison method violates contract >> >> Anton, >> >> >> Thanks for looking at this. Sorry I don't have a test case to give you yet. For sure the machines are using JDK7u80 that are reproducing the error. The common case is that the user is copying text from an email client and then pasting it in to a JTextField. So I imagine that the content type of email is a factor in producing this issue. >> >> >> What I'll do is convert your ClipboardDump into the codebase so that I can just log that information as soon as it happens. We'll see how long it takes to catch this fish. >> >> >> Thanks, >> >> >> Jason >> >> >> >> >> >> ---------------------------------------- >>> Date: Wed, 22 Apr 2015 17:06:10 +0300 >>> From: anton.nashatyrev at oracle.com >>> To: jason_mehrens at hotmail.com >>> CC: swing-dev at openjdk.java.net >>> Subject: Re: JDK-8023043 : Clipboard.getAvailableDataFlavors: Comparison method violates contract >>> >>> Hi Jason, >>> >>> I've commented in the bug report: >>> >>> Couldn't reproduce locally. >>> Please next time the problem is reproduced on your side, run the small >>> program below and attach its output to this bug (or file a new one). >>> Make sure NOT using the system clipboard from the moment of exception >>> till running the test program. >>> >>> import java.awt.*; >>> import java.awt.datatransfer.DataFlavor; >>> >>> public class ClipboardDump { >>> public static void main(String[] args) { >>> System.setProperty("java.util.Arrays.useLegacyMergeSort", "true"); >>> >>> DataFlavor[] dataFlavors = >>> Toolkit.getDefaultToolkit().getSystemClipboard(). >>> getAvailableDataFlavors(); >>> >>> for (DataFlavor df: dataFlavors) { >>> System.out.println(df); >>> } >>> } >>> } >>> >>> Please also make sure you are running 7u80 (not an earlier version) >>> since the Comparator fix was integrated to 7u80 >>> >>> Thanks! >>> Anton. >>> On 21.04.2015 17:29, Jason Mehrens wrote: >>>> Hello Swing-Dev, >>>> >>>> >>>> >>>> Recently we have updated to JDK7u80 and have noticed a pattern of users generating the following error: >>>> >>>> >>>> >>>> ================== >>>> >>>> java.lang.IllegalArgumentException: Comparison method violates its general contract! >>>> >>>> at java.util.TimSort.mergeHi(Unknown Source) >>>> >>>> at java.util.TimSort.mergeAt(Unknown Source) >>>> >>>> at java.util.TimSort.mergeCollapse(Unknown Source) >>>> >>>> at java.util.TimSort.sort(Unknown Source) >>>> >>>> at java.util.TimSort.sort(Unknown Source) >>>> >>>> at java.util.Arrays.sort(Unknown Source) >>>> >>>> at sun.awt.datatransfer.DataTransferer.setToSortedDataFlavorArray(Unknown Source) >>>> >>>> at sun.awt.datatransfer.ClipboardTransferable.(Unknown Source) >>>> >>>> at sun.awt.datatransfer.SunClipboard.getContents(Unknown Source) >>>> >>>> at javax.swing.TransferHandler$TransferAction.actionPerformedImpl(Unknown Source) >>>> >>>> at javax.swing.TransferHandler$TransferAction.access$700(Unknown Source) >>>> >>>> at javax.swing.TransferHandler$TransferAction$1.run(Unknown Source) >>>> >>>> at javax.swing.TransferHandler$TransferAction$1.run(Unknown Source) >>>> >>>> at java.security.AccessController.doPrivileged(Native Method) >>>> >>>> at java.security.ProtectionDomain$1.doIntersectionPrivilege(Unknown Source) >>>> >>>> at java.security.ProtectionDomain$1.doIntersectionPrivilege(Unknown Source) >>>> >>>> at javax.swing.TransferHandler$TransferAction$2.run(Unknown Source) >>>> >>>> at javax.swing.TransferHandler$TransferAction$2.run(Unknown Source) >>>> >>>> at java.security.AccessController.doPrivileged(Native Method) >>>> >>>> at java.security.ProtectionDomain$1.doIntersectionPrivilege(Unknown Source) >>>> >>>> at javax.swing.TransferHandler$TransferAction.actionPerformed(Unknown Source) >>>> >>>> at javax.swing.text.JTextComponent.invokeAction(Unknown Source) >>>> >>>> at javax.swing.text.JTextComponent.paste(Unknown Source) >>>> >>>> at javax.swing.text.DefaultEditorKit$PasteAction.actionPerformed(Unknown Source) >>>> >>>> at javax.swing.SwingUtilities.notifyAction(Unknown Source) >>>> >>>> at javax.swing.JComponent.processKeyBinding(Unknown Source) >>>> >>>> at javax.swing.JComponent.processKeyBindings(Unknown Source) >>>> >>>> at javax.swing.JComponent.processKeyEvent(Unknown Source) >>>> >>>> at java.awt.Component.processEvent(Unknown Source) >>>> >>>> at java.awt.Container.processEvent(Unknown Source) >>>> >>>> at java.awt.Component.dispatchEventImpl(Unknown Source) >>>> >>>> at java.awt.Container.dispatchEventImpl(Unknown Source) >>>> >>>> at java.awt.Component.dispatchEvent(Unknown Source) >>>> >>>> at java.awt.KeyboardFocusManager.redispatchEvent(Unknown Source) >>>> >>>> at java.awt.DefaultKeyboardFocusManager.dispatchKeyEvent(Unknown Source) >>>> >>>> at java.awt.DefaultKeyboardFocusManager.preDispatchKeyEvent(Unknown Source) >>>> >>>> at java.awt.DefaultKeyboardFocusManager.typeAheadAssertions(Unknown Source) >>>> >>>> at java.awt.DefaultKeyboardFocusManager.dispatchEvent(Unknown Source) >>>> >>>> at java.awt.Component.dispatchEventImpl(Unknown Source) >>>> >>>> at java.awt.Container.dispatchEventImpl(Unknown Source) >>>> >>>> at java.awt.Window.dispatchEventImpl(Unknown Source) >>>> >>>> at java.awt.Component.dispatchEvent(Unknown Source) >>>> >>>> at java.awt.EventQueue.dispatchEventImpl(Unknown Source) >>>> >>>> at java.awt.EventQueue.access$300(Unknown Source) >>>> >>>> at java.awt.EventQueue$3.run(Unknown Source) >>>> >>>> at java.awt.EventQueue$3.run(Unknown Source) >>>> >>>> at java.security.AccessController.doPrivileged(Native Method) >>>> >>>> at java.security.ProtectionDomain$1.doIntersectionPrivilege(Unknown Source) >>>> >>>> at java.security.ProtectionDomain$1.doIntersectionPrivilege(Unknown Source) >>>> >>>> at java.awt.EventQueue$4.run(Unknown Source) >>>> >>>> at java.awt.EventQueue$4.run(Unknown Source) >>>> >>>> at java.security.AccessController.doPrivileged(Native Method) >>>> >>>> at java.security.ProtectionDomain$1.doIntersectionPrivilege(Unknown Source) >>>> >>>> at java.awt.EventQueue.dispatchEvent(Unknown Source) >>>> >>>> at java.awt.EventDispatchThread.pumpOneEventForFilters(Unknown Source) >>>> >>>> at java.awt.EventDispatchThread.pumpEventsForFilter(Unknown Source) >>>> >>>> at java.awt.EventDispatchThread.pumpEventsForHierarchy(Unknown Source) >>>> >>>> at java.awt.EventDispatchThread.pumpEvents(Unknown Source) >>>> >>>> at java.awt.EventDispatchThread.pumpEvents(Unknown Source) >>>> >>>> at java.awt.EventDispatchThread.run(Unknown Source) >>>> >>>> ============= >>>> >>>> >>>> >>>> When I check the issue tracker http://bugs.java.com/view_bug.do?bug_id=8023043 shows as fixed in 7u60. Did this get fixed in 7u60 through 7u80? The stacktrace is a little different from that bug so should I file this as a new issue? >>>> >>>> >>>> >>>> Thanks, >>>> >>>> >>>> >>>> Jason >>>> >>> From anton.nashatyrev at oracle.com Fri May 8 12:41:59 2015 From: anton.nashatyrev at oracle.com (Anton Nashatyrev) Date: Fri, 08 May 2015 15:41:59 +0300 Subject: JDK-8023043 : Clipboard.getAvailableDataFlavors: Comparison method violates contract In-Reply-To: <554CAE2E.7080308@oracle.com> References: , , <5537AAD2.2040107@oracle.com>, <554CAE2E.7080308@oracle.com> Message-ID: <554CAF17.9020402@oracle.com> Hi Alexander, I've updated the existing issue filed by Jason with the new information. So it seems no need to create a new one. Thanks! Anton. On 08.05.2015 15:38, Alexander Scherbatiy wrote: > > Hi Jason, > > Please, file it as a new issue in http://bugreport.java.com/bugreport > > Thanks, > Alexandr. > > On 5/7/2015 11:08 PM, Jason Mehrens wrote: >> Anton, >> >> >> I finally caught this error in production. I patched our code to >> launch a JVM (with mergesort) using your test case, modifed to output >> the JVM version followed by the output when this error occurs. The >> output is as follows: >> >> >> >> ============================================================================== >> >> >> 1.7.0_80-b15 >> >> java.awt.datatransfer.DataFlavor[mimetype=application/x-java-serialized-object;representationclass=java.lang.String] >> >> >> java.awt.datatransfer.DataFlavor[mimetype=application/x-java-text-encoding;representationclass=[B] >> >> >> java.awt.datatransfer.DataFlavor[mimetype=text/plain;representationclass=java.io.Reader] >> >> >> java.awt.datatransfer.DataFlavor[mimetype=text/plain;representationclass=java.lang.String] >> >> >> java.awt.datatransfer.DataFlavor[mimetype=text/plain;representationclass=java.nio.CharBuffer] >> >> >> java.awt.datatransfer.DataFlavor[mimetype=text/plain;representationclass=[C] >> >> >> java.awt.datatransfer.DataFlavor[mimetype=text/plain;representationclass=java.io.InputStream;charset=unicode] >> >> >> java.awt.datatransfer.DataFlavor[mimetype=text/plain;representationclass=java.nio.ByteBuffer;charset=UTF-16] >> >> >> java.awt.datatransfer.DataFlavor[mimetype=text/plain;representationclass=[B;charset=UTF-16] >> >> >> java.awt.datatransfer.DataFlavor[mimetype=text/plain;representationclass=java.io.InputStream;charset=UTF-8] >> >> >> java.awt.datatransfer.DataFlavor[mimetype=text/plain;representationclass=java.nio.ByteBuffer;charset=UTF-8] >> >> >> java.awt.datatransfer.DataFlavor[mimetype=text/plain;representationclass=[B;charset=UTF-8] >> >> >> java.awt.datatransfer.DataFlavor[mimetype=text/plain;representationclass=java.io.InputStream;charset=UTF-16BE] >> >> >> java.awt.datatransfer.DataFlavor[mimetype=text/plain;representationclass=java.nio.ByteBuffer;charset=UTF-16BE] >> >> >> java.awt.datatransfer.DataFlavor[mimetype=text/plain;representationclass=[B;charset=UTF-16BE] >> >> >> java.awt.datatransfer.DataFlavor[mimetype=text/plain;representationclass=java.io.InputStream;charset=UTF-16LE] >> >> >> java.awt.datatransfer.DataFlavor[mimetype=text/plain;representationclass=java.nio.ByteBuffer;charset=UTF-16LE] >> >> >> java.awt.datatransfer.DataFlavor[mimetype=text/plain;representationclass=[B;charset=UTF-16LE] >> >> >> java.awt.datatransfer.DataFlavor[mimetype=text/plain;representationclass=java.io.InputStream;charset=ISO-8859-1] >> >> >> java.awt.datatransfer.DataFlavor[mimetype=text/plain;representationclass=java.nio.ByteBuffer;charset=ISO-8859-1] >> >> >> java.awt.datatransfer.DataFlavor[mimetype=text/plain;representationclass=[B;charset=ISO-8859-1] >> >> >> java.awt.datatransfer.DataFlavor[mimetype=text/plain;representationclass=java.io.InputStream;charset=windows-1252] >> >> >> java.awt.datatransfer.DataFlavor[mimetype=text/plain;representationclass=java.nio.ByteBuffer;charset=windows-1252] >> >> >> java.awt.datatransfer.DataFlavor[mimetype=text/plain;representationclass=[B;charset=windows-1252] >> >> >> java.awt.datatransfer.DataFlavor[mimetype=text/plain;representationclass=java.io.InputStream;charset=US-ASCII] >> >> >> java.awt.datatransfer.DataFlavor[mimetype=text/plain;representationclass=java.nio.ByteBuffer;charset=US-ASCII] >> >> >> java.awt.datatransfer.DataFlavor[mimetype=text/plain;representationclass=[B;charset=US-ASCII] >> >> >> ================================================================================== >> >> >> >> Jason >> >> >> >> ---------------------------------------- >>> From: jason_mehrens at hotmail.com >>> To: anton.nashatyrev at oracle.com >>> Date: Wed, 22 Apr 2015 14:59:26 -0500 >>> CC: swing-dev at openjdk.java.net >>> Subject: Re: JDK-8023043 : >>> Clipboard.getAvailableDataFlavors: Comparison method violates contract >>> >>> Anton, >>> >>> >>> Thanks for looking at this. Sorry I don't have a test case to give >>> you yet. For sure the machines are using JDK7u80 that are >>> reproducing the error. The common case is that the user is copying >>> text from an email client and then pasting it in to a JTextField. So >>> I imagine that the content type of email is a factor in producing >>> this issue. >>> >>> >>> What I'll do is convert your ClipboardDump into the codebase so that >>> I can just log that information as soon as it happens. We'll see how >>> long it takes to catch this fish. >>> >>> >>> Thanks, >>> >>> >>> Jason >>> >>> >>> >>> >>> >>> ---------------------------------------- >>>> Date: Wed, 22 Apr 2015 17:06:10 +0300 >>>> From: anton.nashatyrev at oracle.com >>>> To: jason_mehrens at hotmail.com >>>> CC: swing-dev at openjdk.java.net >>>> Subject: Re: JDK-8023043 : >>>> Clipboard.getAvailableDataFlavors: Comparison method violates contract >>>> >>>> Hi Jason, >>>> >>>> I've commented in the bug report: >>>> >>>> Couldn't reproduce locally. >>>> Please next time the problem is reproduced on your side, run the small >>>> program below and attach its output to this bug (or file a new one). >>>> Make sure NOT using the system clipboard from the moment of exception >>>> till running the test program. >>>> >>>> import java.awt.*; >>>> import java.awt.datatransfer.DataFlavor; >>>> >>>> public class ClipboardDump { >>>> public static void main(String[] args) { >>>> System.setProperty("java.util.Arrays.useLegacyMergeSort", "true"); >>>> >>>> DataFlavor[] dataFlavors = >>>> Toolkit.getDefaultToolkit().getSystemClipboard(). >>>> getAvailableDataFlavors(); >>>> >>>> for (DataFlavor df: dataFlavors) { >>>> System.out.println(df); >>>> } >>>> } >>>> } >>>> >>>> Please also make sure you are running 7u80 (not an earlier version) >>>> since the Comparator fix was integrated to 7u80 >>>> >>>> Thanks! >>>> Anton. >>>> On 21.04.2015 17:29, Jason Mehrens wrote: >>>>> Hello Swing-Dev, >>>>> >>>>> >>>>> >>>>> Recently we have updated to JDK7u80 and have noticed a pattern of >>>>> users generating the following error: >>>>> >>>>> >>>>> >>>>> ================== >>>>> >>>>> java.lang.IllegalArgumentException: Comparison method violates its >>>>> general contract! >>>>> >>>>> at java.util.TimSort.mergeHi(Unknown Source) >>>>> >>>>> at java.util.TimSort.mergeAt(Unknown Source) >>>>> >>>>> at java.util.TimSort.mergeCollapse(Unknown Source) >>>>> >>>>> at java.util.TimSort.sort(Unknown Source) >>>>> >>>>> at java.util.TimSort.sort(Unknown Source) >>>>> >>>>> at java.util.Arrays.sort(Unknown Source) >>>>> >>>>> at >>>>> sun.awt.datatransfer.DataTransferer.setToSortedDataFlavorArray(Unknown >>>>> Source) >>>>> >>>>> at sun.awt.datatransfer.ClipboardTransferable.(Unknown Source) >>>>> >>>>> at sun.awt.datatransfer.SunClipboard.getContents(Unknown Source) >>>>> >>>>> at >>>>> javax.swing.TransferHandler$TransferAction.actionPerformedImpl(Unknown >>>>> Source) >>>>> >>>>> at javax.swing.TransferHandler$TransferAction.access$700(Unknown >>>>> Source) >>>>> >>>>> at javax.swing.TransferHandler$TransferAction$1.run(Unknown Source) >>>>> >>>>> at javax.swing.TransferHandler$TransferAction$1.run(Unknown Source) >>>>> >>>>> at java.security.AccessController.doPrivileged(Native Method) >>>>> >>>>> at >>>>> java.security.ProtectionDomain$1.doIntersectionPrivilege(Unknown >>>>> Source) >>>>> >>>>> at >>>>> java.security.ProtectionDomain$1.doIntersectionPrivilege(Unknown >>>>> Source) >>>>> >>>>> at javax.swing.TransferHandler$TransferAction$2.run(Unknown Source) >>>>> >>>>> at javax.swing.TransferHandler$TransferAction$2.run(Unknown Source) >>>>> >>>>> at java.security.AccessController.doPrivileged(Native Method) >>>>> >>>>> at >>>>> java.security.ProtectionDomain$1.doIntersectionPrivilege(Unknown >>>>> Source) >>>>> >>>>> at >>>>> javax.swing.TransferHandler$TransferAction.actionPerformed(Unknown >>>>> Source) >>>>> >>>>> at javax.swing.text.JTextComponent.invokeAction(Unknown Source) >>>>> >>>>> at javax.swing.text.JTextComponent.paste(Unknown Source) >>>>> >>>>> at >>>>> javax.swing.text.DefaultEditorKit$PasteAction.actionPerformed(Unknown >>>>> Source) >>>>> >>>>> at javax.swing.SwingUtilities.notifyAction(Unknown Source) >>>>> >>>>> at javax.swing.JComponent.processKeyBinding(Unknown Source) >>>>> >>>>> at javax.swing.JComponent.processKeyBindings(Unknown Source) >>>>> >>>>> at javax.swing.JComponent.processKeyEvent(Unknown Source) >>>>> >>>>> at java.awt.Component.processEvent(Unknown Source) >>>>> >>>>> at java.awt.Container.processEvent(Unknown Source) >>>>> >>>>> at java.awt.Component.dispatchEventImpl(Unknown Source) >>>>> >>>>> at java.awt.Container.dispatchEventImpl(Unknown Source) >>>>> >>>>> at java.awt.Component.dispatchEvent(Unknown Source) >>>>> >>>>> at java.awt.KeyboardFocusManager.redispatchEvent(Unknown Source) >>>>> >>>>> at java.awt.DefaultKeyboardFocusManager.dispatchKeyEvent(Unknown >>>>> Source) >>>>> >>>>> at >>>>> java.awt.DefaultKeyboardFocusManager.preDispatchKeyEvent(Unknown >>>>> Source) >>>>> >>>>> at >>>>> java.awt.DefaultKeyboardFocusManager.typeAheadAssertions(Unknown >>>>> Source) >>>>> >>>>> at java.awt.DefaultKeyboardFocusManager.dispatchEvent(Unknown Source) >>>>> >>>>> at java.awt.Component.dispatchEventImpl(Unknown Source) >>>>> >>>>> at java.awt.Container.dispatchEventImpl(Unknown Source) >>>>> >>>>> at java.awt.Window.dispatchEventImpl(Unknown Source) >>>>> >>>>> at java.awt.Component.dispatchEvent(Unknown Source) >>>>> >>>>> at java.awt.EventQueue.dispatchEventImpl(Unknown Source) >>>>> >>>>> at java.awt.EventQueue.access$300(Unknown Source) >>>>> >>>>> at java.awt.EventQueue$3.run(Unknown Source) >>>>> >>>>> at java.awt.EventQueue$3.run(Unknown Source) >>>>> >>>>> at java.security.AccessController.doPrivileged(Native Method) >>>>> >>>>> at >>>>> java.security.ProtectionDomain$1.doIntersectionPrivilege(Unknown >>>>> Source) >>>>> >>>>> at >>>>> java.security.ProtectionDomain$1.doIntersectionPrivilege(Unknown >>>>> Source) >>>>> >>>>> at java.awt.EventQueue$4.run(Unknown Source) >>>>> >>>>> at java.awt.EventQueue$4.run(Unknown Source) >>>>> >>>>> at java.security.AccessController.doPrivileged(Native Method) >>>>> >>>>> at >>>>> java.security.ProtectionDomain$1.doIntersectionPrivilege(Unknown >>>>> Source) >>>>> >>>>> at java.awt.EventQueue.dispatchEvent(Unknown Source) >>>>> >>>>> at java.awt.EventDispatchThread.pumpOneEventForFilters(Unknown >>>>> Source) >>>>> >>>>> at java.awt.EventDispatchThread.pumpEventsForFilter(Unknown Source) >>>>> >>>>> at java.awt.EventDispatchThread.pumpEventsForHierarchy(Unknown >>>>> Source) >>>>> >>>>> at java.awt.EventDispatchThread.pumpEvents(Unknown Source) >>>>> >>>>> at java.awt.EventDispatchThread.pumpEvents(Unknown Source) >>>>> >>>>> at java.awt.EventDispatchThread.run(Unknown Source) >>>>> >>>>> ============= >>>>> >>>>> >>>>> >>>>> When I check the issue tracker >>>>> http://bugs.java.com/view_bug.do?bug_id=8023043 shows as fixed in >>>>> 7u60. Did this get fixed in 7u60 through 7u80? The stacktrace is a >>>>> little different from that bug so should I file this as a new issue? >>>>> >>>>> >>>>> >>>>> Thanks, >>>>> >>>>> >>>>> >>>>> Jason >>>>> >>>> > From alexandr.scherbatiy at oracle.com Fri May 8 12:46:00 2015 From: alexandr.scherbatiy at oracle.com (Alexander Scherbatiy) Date: Fri, 08 May 2015 15:46:00 +0300 Subject: JDK-8023043 : Clipboard.getAvailableDataFlavors: Comparison method violates contract In-Reply-To: <554CAF17.9020402@oracle.com> References: , , <5537AAD2.2040107@oracle.com>, <554CAE2E.7080308@oracle.com> <554CAF17.9020402@oracle.com> Message-ID: <554CB008.7070907@oracle.com> On 5/8/2015 3:41 PM, Anton Nashatyrev wrote: > Hi Alexander, > > I've updated the existing issue filed by Jason with the new > information. So it seems no need to create a new one. I see. I have founds this one: https://bugs.openjdk.java.net/browse/JDK-8078376 Thanks, Alexandr. > > Thanks! > Anton. > > On 08.05.2015 15:38, Alexander Scherbatiy wrote: >> >> Hi Jason, >> >> Please, file it as a new issue in http://bugreport.java.com/bugreport >> >> Thanks, >> Alexandr. >> >> On 5/7/2015 11:08 PM, Jason Mehrens wrote: >>> Anton, >>> >>> >>> I finally caught this error in production. I patched our code to >>> launch a JVM (with mergesort) using your test case, modifed to >>> output the JVM version followed by the output when this error >>> occurs. The output is as follows: >>> >>> >>> >>> ============================================================================== >>> >>> >>> 1.7.0_80-b15 >>> >>> java.awt.datatransfer.DataFlavor[mimetype=application/x-java-serialized-object;representationclass=java.lang.String] >>> >>> >>> java.awt.datatransfer.DataFlavor[mimetype=application/x-java-text-encoding;representationclass=[B] >>> >>> >>> java.awt.datatransfer.DataFlavor[mimetype=text/plain;representationclass=java.io.Reader] >>> >>> >>> java.awt.datatransfer.DataFlavor[mimetype=text/plain;representationclass=java.lang.String] >>> >>> >>> java.awt.datatransfer.DataFlavor[mimetype=text/plain;representationclass=java.nio.CharBuffer] >>> >>> >>> java.awt.datatransfer.DataFlavor[mimetype=text/plain;representationclass=[C] >>> >>> >>> java.awt.datatransfer.DataFlavor[mimetype=text/plain;representationclass=java.io.InputStream;charset=unicode] >>> >>> >>> java.awt.datatransfer.DataFlavor[mimetype=text/plain;representationclass=java.nio.ByteBuffer;charset=UTF-16] >>> >>> >>> java.awt.datatransfer.DataFlavor[mimetype=text/plain;representationclass=[B;charset=UTF-16] >>> >>> >>> java.awt.datatransfer.DataFlavor[mimetype=text/plain;representationclass=java.io.InputStream;charset=UTF-8] >>> >>> >>> java.awt.datatransfer.DataFlavor[mimetype=text/plain;representationclass=java.nio.ByteBuffer;charset=UTF-8] >>> >>> >>> java.awt.datatransfer.DataFlavor[mimetype=text/plain;representationclass=[B;charset=UTF-8] >>> >>> >>> java.awt.datatransfer.DataFlavor[mimetype=text/plain;representationclass=java.io.InputStream;charset=UTF-16BE] >>> >>> >>> java.awt.datatransfer.DataFlavor[mimetype=text/plain;representationclass=java.nio.ByteBuffer;charset=UTF-16BE] >>> >>> >>> java.awt.datatransfer.DataFlavor[mimetype=text/plain;representationclass=[B;charset=UTF-16BE] >>> >>> >>> java.awt.datatransfer.DataFlavor[mimetype=text/plain;representationclass=java.io.InputStream;charset=UTF-16LE] >>> >>> >>> java.awt.datatransfer.DataFlavor[mimetype=text/plain;representationclass=java.nio.ByteBuffer;charset=UTF-16LE] >>> >>> >>> java.awt.datatransfer.DataFlavor[mimetype=text/plain;representationclass=[B;charset=UTF-16LE] >>> >>> >>> java.awt.datatransfer.DataFlavor[mimetype=text/plain;representationclass=java.io.InputStream;charset=ISO-8859-1] >>> >>> >>> java.awt.datatransfer.DataFlavor[mimetype=text/plain;representationclass=java.nio.ByteBuffer;charset=ISO-8859-1] >>> >>> >>> java.awt.datatransfer.DataFlavor[mimetype=text/plain;representationclass=[B;charset=ISO-8859-1] >>> >>> >>> java.awt.datatransfer.DataFlavor[mimetype=text/plain;representationclass=java.io.InputStream;charset=windows-1252] >>> >>> >>> java.awt.datatransfer.DataFlavor[mimetype=text/plain;representationclass=java.nio.ByteBuffer;charset=windows-1252] >>> >>> >>> java.awt.datatransfer.DataFlavor[mimetype=text/plain;representationclass=[B;charset=windows-1252] >>> >>> >>> java.awt.datatransfer.DataFlavor[mimetype=text/plain;representationclass=java.io.InputStream;charset=US-ASCII] >>> >>> >>> java.awt.datatransfer.DataFlavor[mimetype=text/plain;representationclass=java.nio.ByteBuffer;charset=US-ASCII] >>> >>> >>> java.awt.datatransfer.DataFlavor[mimetype=text/plain;representationclass=[B;charset=US-ASCII] >>> >>> >>> ================================================================================== >>> >>> >>> >>> >>> Jason >>> >>> >>> >>> ---------------------------------------- >>>> From: jason_mehrens at hotmail.com >>>> To: anton.nashatyrev at oracle.com >>>> Date: Wed, 22 Apr 2015 14:59:26 -0500 >>>> CC: swing-dev at openjdk.java.net >>>> Subject: Re: JDK-8023043 : >>>> Clipboard.getAvailableDataFlavors: Comparison method violates contract >>>> >>>> Anton, >>>> >>>> >>>> Thanks for looking at this. Sorry I don't have a test case to give >>>> you yet. For sure the machines are using JDK7u80 that are >>>> reproducing the error. The common case is that the user is copying >>>> text from an email client and then pasting it in to a JTextField. >>>> So I imagine that the content type of email is a factor in >>>> producing this issue. >>>> >>>> >>>> What I'll do is convert your ClipboardDump into the codebase so >>>> that I can just log that information as soon as it happens. We'll >>>> see how long it takes to catch this fish. >>>> >>>> >>>> Thanks, >>>> >>>> >>>> Jason >>>> >>>> >>>> >>>> >>>> >>>> ---------------------------------------- >>>>> Date: Wed, 22 Apr 2015 17:06:10 +0300 >>>>> From: anton.nashatyrev at oracle.com >>>>> To: jason_mehrens at hotmail.com >>>>> CC: swing-dev at openjdk.java.net >>>>> Subject: Re: JDK-8023043 : >>>>> Clipboard.getAvailableDataFlavors: Comparison method violates >>>>> contract >>>>> >>>>> Hi Jason, >>>>> >>>>> I've commented in the bug report: >>>>> >>>>> Couldn't reproduce locally. >>>>> Please next time the problem is reproduced on your side, run the >>>>> small >>>>> program below and attach its output to this bug (or file a new one). >>>>> Make sure NOT using the system clipboard from the moment of exception >>>>> till running the test program. >>>>> >>>>> import java.awt.*; >>>>> import java.awt.datatransfer.DataFlavor; >>>>> >>>>> public class ClipboardDump { >>>>> public static void main(String[] args) { >>>>> System.setProperty("java.util.Arrays.useLegacyMergeSort", "true"); >>>>> >>>>> DataFlavor[] dataFlavors = >>>>> Toolkit.getDefaultToolkit().getSystemClipboard(). >>>>> getAvailableDataFlavors(); >>>>> >>>>> for (DataFlavor df: dataFlavors) { >>>>> System.out.println(df); >>>>> } >>>>> } >>>>> } >>>>> >>>>> Please also make sure you are running 7u80 (not an earlier version) >>>>> since the Comparator fix was integrated to 7u80 >>>>> >>>>> Thanks! >>>>> Anton. >>>>> On 21.04.2015 17:29, Jason Mehrens wrote: >>>>>> Hello Swing-Dev, >>>>>> >>>>>> >>>>>> >>>>>> Recently we have updated to JDK7u80 and have noticed a pattern of >>>>>> users generating the following error: >>>>>> >>>>>> >>>>>> >>>>>> ================== >>>>>> >>>>>> java.lang.IllegalArgumentException: Comparison method violates >>>>>> its general contract! >>>>>> >>>>>> at java.util.TimSort.mergeHi(Unknown Source) >>>>>> >>>>>> at java.util.TimSort.mergeAt(Unknown Source) >>>>>> >>>>>> at java.util.TimSort.mergeCollapse(Unknown Source) >>>>>> >>>>>> at java.util.TimSort.sort(Unknown Source) >>>>>> >>>>>> at java.util.TimSort.sort(Unknown Source) >>>>>> >>>>>> at java.util.Arrays.sort(Unknown Source) >>>>>> >>>>>> at >>>>>> sun.awt.datatransfer.DataTransferer.setToSortedDataFlavorArray(Unknown >>>>>> Source) >>>>>> >>>>>> at sun.awt.datatransfer.ClipboardTransferable.(Unknown Source) >>>>>> >>>>>> at sun.awt.datatransfer.SunClipboard.getContents(Unknown Source) >>>>>> >>>>>> at >>>>>> javax.swing.TransferHandler$TransferAction.actionPerformedImpl(Unknown >>>>>> Source) >>>>>> >>>>>> at javax.swing.TransferHandler$TransferAction.access$700(Unknown >>>>>> Source) >>>>>> >>>>>> at javax.swing.TransferHandler$TransferAction$1.run(Unknown Source) >>>>>> >>>>>> at javax.swing.TransferHandler$TransferAction$1.run(Unknown Source) >>>>>> >>>>>> at java.security.AccessController.doPrivileged(Native Method) >>>>>> >>>>>> at >>>>>> java.security.ProtectionDomain$1.doIntersectionPrivilege(Unknown >>>>>> Source) >>>>>> >>>>>> at >>>>>> java.security.ProtectionDomain$1.doIntersectionPrivilege(Unknown >>>>>> Source) >>>>>> >>>>>> at javax.swing.TransferHandler$TransferAction$2.run(Unknown Source) >>>>>> >>>>>> at javax.swing.TransferHandler$TransferAction$2.run(Unknown Source) >>>>>> >>>>>> at java.security.AccessController.doPrivileged(Native Method) >>>>>> >>>>>> at >>>>>> java.security.ProtectionDomain$1.doIntersectionPrivilege(Unknown >>>>>> Source) >>>>>> >>>>>> at >>>>>> javax.swing.TransferHandler$TransferAction.actionPerformed(Unknown Source) >>>>>> >>>>>> >>>>>> at javax.swing.text.JTextComponent.invokeAction(Unknown Source) >>>>>> >>>>>> at javax.swing.text.JTextComponent.paste(Unknown Source) >>>>>> >>>>>> at >>>>>> javax.swing.text.DefaultEditorKit$PasteAction.actionPerformed(Unknown >>>>>> Source) >>>>>> >>>>>> at javax.swing.SwingUtilities.notifyAction(Unknown Source) >>>>>> >>>>>> at javax.swing.JComponent.processKeyBinding(Unknown Source) >>>>>> >>>>>> at javax.swing.JComponent.processKeyBindings(Unknown Source) >>>>>> >>>>>> at javax.swing.JComponent.processKeyEvent(Unknown Source) >>>>>> >>>>>> at java.awt.Component.processEvent(Unknown Source) >>>>>> >>>>>> at java.awt.Container.processEvent(Unknown Source) >>>>>> >>>>>> at java.awt.Component.dispatchEventImpl(Unknown Source) >>>>>> >>>>>> at java.awt.Container.dispatchEventImpl(Unknown Source) >>>>>> >>>>>> at java.awt.Component.dispatchEvent(Unknown Source) >>>>>> >>>>>> at java.awt.KeyboardFocusManager.redispatchEvent(Unknown Source) >>>>>> >>>>>> at java.awt.DefaultKeyboardFocusManager.dispatchKeyEvent(Unknown >>>>>> Source) >>>>>> >>>>>> at >>>>>> java.awt.DefaultKeyboardFocusManager.preDispatchKeyEvent(Unknown >>>>>> Source) >>>>>> >>>>>> at >>>>>> java.awt.DefaultKeyboardFocusManager.typeAheadAssertions(Unknown >>>>>> Source) >>>>>> >>>>>> at java.awt.DefaultKeyboardFocusManager.dispatchEvent(Unknown >>>>>> Source) >>>>>> >>>>>> at java.awt.Component.dispatchEventImpl(Unknown Source) >>>>>> >>>>>> at java.awt.Container.dispatchEventImpl(Unknown Source) >>>>>> >>>>>> at java.awt.Window.dispatchEventImpl(Unknown Source) >>>>>> >>>>>> at java.awt.Component.dispatchEvent(Unknown Source) >>>>>> >>>>>> at java.awt.EventQueue.dispatchEventImpl(Unknown Source) >>>>>> >>>>>> at java.awt.EventQueue.access$300(Unknown Source) >>>>>> >>>>>> at java.awt.EventQueue$3.run(Unknown Source) >>>>>> >>>>>> at java.awt.EventQueue$3.run(Unknown Source) >>>>>> >>>>>> at java.security.AccessController.doPrivileged(Native Method) >>>>>> >>>>>> at >>>>>> java.security.ProtectionDomain$1.doIntersectionPrivilege(Unknown >>>>>> Source) >>>>>> >>>>>> at >>>>>> java.security.ProtectionDomain$1.doIntersectionPrivilege(Unknown >>>>>> Source) >>>>>> >>>>>> at java.awt.EventQueue$4.run(Unknown Source) >>>>>> >>>>>> at java.awt.EventQueue$4.run(Unknown Source) >>>>>> >>>>>> at java.security.AccessController.doPrivileged(Native Method) >>>>>> >>>>>> at >>>>>> java.security.ProtectionDomain$1.doIntersectionPrivilege(Unknown >>>>>> Source) >>>>>> >>>>>> at java.awt.EventQueue.dispatchEvent(Unknown Source) >>>>>> >>>>>> at java.awt.EventDispatchThread.pumpOneEventForFilters(Unknown >>>>>> Source) >>>>>> >>>>>> at java.awt.EventDispatchThread.pumpEventsForFilter(Unknown Source) >>>>>> >>>>>> at java.awt.EventDispatchThread.pumpEventsForHierarchy(Unknown >>>>>> Source) >>>>>> >>>>>> at java.awt.EventDispatchThread.pumpEvents(Unknown Source) >>>>>> >>>>>> at java.awt.EventDispatchThread.pumpEvents(Unknown Source) >>>>>> >>>>>> at java.awt.EventDispatchThread.run(Unknown Source) >>>>>> >>>>>> ============= >>>>>> >>>>>> >>>>>> >>>>>> When I check the issue tracker >>>>>> http://bugs.java.com/view_bug.do?bug_id=8023043 shows as fixed in >>>>>> 7u60. Did this get fixed in 7u60 through 7u80? The stacktrace is >>>>>> a little different from that bug so should I file this as a new >>>>>> issue? >>>>>> >>>>>> >>>>>> >>>>>> Thanks, >>>>>> >>>>>> >>>>>> >>>>>> Jason >>>>>> >>>>> >> > From alexandr.scherbatiy at oracle.com Fri May 8 12:52:45 2015 From: alexandr.scherbatiy at oracle.com (Alexander Scherbatiy) Date: Fri, 08 May 2015 15:52:45 +0300 Subject: [9] Review Request for 6260348: GTK+ L&F JTextComponent not respecting desktop caret blink rate In-Reply-To: <554C7914.7040802@oracle.com> References: <5539004F.9060705@oracle.com> <553E4836.3040408@oracle.com> <554C7914.7040802@oracle.com> Message-ID: <554CB19D.3040809@oracle.com> The fix looks good to me. Thanks, Alexandr. On 5/8/2015 11:51 AM, Semyon Sadetsky wrote: > Hi Alexander, > > gboolean and gint are equivalent. > > --Semyon > > On 4/27/2015 5:31 PM, Alexander Scherbatiy wrote: >> On 4/23/2015 5:23 PM, Semyon Sadetsky wrote: >>> Hello, >>> >>> Please review fix for JDK9: >>> >>> web rev: http://cr.openjdk.java.net/~ssadetsky/6260348/webrev.00/ >>> bug: https://bugs.openjdk.java.net/browse/JDK-6260348 >> >> gtk2_interface.c >> 2510 gint intval = NULL; >> 2511 (*fp_g_object_get)(settings, key, &intval, NULL); >> 2512 return create_Boolean(env, intval); >> >> Probably the type of the value should be gboolean. >> >> Thanks, >> Alexandr. >> >>> >>> ***ROOT CAUSE >>> GTK L&F never took care about native GTK cursor blink settings. >>> >>> ***SOLUTION >>> Implement this feature. >>> >>> ***TESTING >>> Two test scenarios added. 1st sets GTK cursor blink enabled and >>> blink time 200 ms. 2nd disables cursor blinking. Then Java text >>> caret is checked to respect these settings. >>> >>> --Semyon >>> >>> >> > From Sergey.Bylokhov at oracle.com Fri May 8 13:07:47 2015 From: Sergey.Bylokhov at oracle.com (Sergey Bylokhov) Date: Fri, 08 May 2015 16:07:47 +0300 Subject: [9] Review Request for 8079640: GroupLayout incorrect layout with large JTextArea In-Reply-To: <554C783A.4080606@oracle.com> References: <554C783A.4080606@oracle.com> Message-ID: <554CB523.7080300@oracle.com> Hi, Semyon. It will be good to dig into the history of GroupLayout and understand why this was constrained, note that tutorial should be updated also. On 08.05.15 11:47, Semyon Sadetsky wrote: > Hello, > > Please review fix for JDK9: > > bug: https://bugs.openjdk.java.net/browse/JDK-8079640 > webrev: http://cr.openjdk.java.net/~ssadetsky/8079640/webrev.00/ > > *THE ROOT CAUSE > Component minimum size is limited to Short.MAX_VALUE in GroupLayout. > JDK turtorial > https://docs.oracle.com/javase/tutorial/uiswing/layout/group.html > tells that Short.MAX_VALUE is treated as infinite. > But I did not find any reasons in JDK specs why a bigger number cannot > be used. > > *SOLUTION > Remove the limitation > > *TESTING > Test is added to cover the large component scenario. > Existing GroupLayout tests are passed. > > --Semyon > -- Best regards, Sergey. From jonathan.gibbons at oracle.com Thu May 7 21:28:17 2015 From: jonathan.gibbons at oracle.com (Jonathan Gibbons) Date: Thu, 07 May 2015 14:28:17 -0700 Subject: [9] Review Request: JDK-8079428 [TEST_BUG] Test javax/swing/plaf/windows/6921687/bug6921687.java fails In-Reply-To: <554A2118.403@oracle.com> References: <5549B24A.40800@oracle.com> <554A0921.3010502@oracle.com> <554A2118.403@oracle.com> Message-ID: <554BD8F1.9080202@oracle.com> There is no issue here and the tests that used to "work" with jtreg b05 didn't do what you thought they did. Just look at the .jtr file and see what jtreg actually did before. First, you need to realize that "@build" is a shorthand for "@run build". The section on "shorthands" is in the very next section of the spec after the section on "defaults" that you mention. Shorthand Equivalent @build + @run build + @clean + @run clean + @compile