Hi Prasanta, I have added try-finally in the main and called frame.dispose from finally clause. Please find the updated webrev http://cr.openjdk.java.net/~trebari/swing/8190763/webrev3/ <http://cr.openjdk.java.net/~trebari/swing/8190763/webrev3/>
Regards Tejpal > On 11-Nov-2019, at 4:34 PM, Prasanta Sadhukhan > <prasanta.sadhuk...@oracle.com> wrote: > > dispose is called from createTextArea when CCE is thrown so ideally the EDT > should be inside dispose() function. I guess it will be clean if you remove > dispose() from CCE and add frame.dispose() under try-finally clause in main() > itself. I guess frame.setIconImage() also is not needed. > Also, please add @Override annotation to run() method of EDT. > On 11-Nov-19 3:07 PM, Tejpal Rebari wrote: >> Hi all, >> I have removed GridBagLayout() ,GridBagConstraints and author tag , >> moved dispose() call to EDT >> and changed the test name to TestCCEOnEditEvet. >> >> Please find the updated webrev >> http://cr.openjdk.java.net/~trebari/swing/8190763/webrev2/ >> <http://cr.openjdk.java.net/~trebari/swing/8190763/webrev2/> >> >> Regards >> Tejpal >> >>> On 11-Nov-2019, at 12:02 PM, Pankaj Bansal <pankaj.b.ban...@oracle.com >>> <mailto:pankaj.b.ban...@oracle.com>> wrote: >>> >>> The fix look good to me. >>> Some points about test case. >>> 1. No need for author tag. This is not followed now. >>> 2. The test case name should be something meaningful instead of bug***. >>> 3. You should not need the GridBagConstraints code anywhere to >>> reproduce the issue. You should remove this. >>> >>> >>> Regards, >>> Pankaj >>> <> >>> From: Prasanta Sadhukhan >>> Sent: Monday, November 11, 2019 11:47 AM >>> To: Tejpal Rebari >>> Cc: swing-dev@openjdk.java.net <mailto:swing-dev@openjdk.java.net> >>> Subject: Re: <Swing Dev> [14] RFR JDK-8190763 - Class cast exception on >>> (CompoundEdit) UndoableEditEvent.getEdit() >>> >>> Fix looks ok to me. Regarding the test, dispose() should be called under >>> EDT, just as you have done for createAndShowGUI().Also, I don't think >>> createGridBagLayout() code is necessary to recreate the issue. >>> >>> Regards >>> Prasanta >>> On 08-Nov-19 3:56 PM, Tejpal Rebari wrote: >>> Hi Prasanta , >>> I have added a test to the fix. >>> Updated webrev : http://cr.openjdk.java.net/~trebari/swing/8190763/webrev1/ >>> <http://cr.openjdk.java.net/~trebari/swing/8190763/webrev1/> >>> >>> Regards >>> Tejpal >>> >>> >>> >>> On 31-Oct-2019, at 1:58 PM, Prasanta Sadhukhan >>> <prasanta.sadhuk...@oracle.com <mailto:prasanta.sadhuk...@oracle.com>> >>> wrote: >>> >>> Hi tejpal, >>> Can you add a testcase to the fix? I guess one is there in the JBS itself. >>> Regards >>> Prasanta >>> On 24-Oct-19 10:31 AM, Tejpal Rebari wrote: >>> Hi All, >>> Please review the following fix for jdk14. >>> >>> Bug : https://bugs.openjdk.java.net/browse/JDK-8190763 >>> <https://bugs.openjdk.java.net/browse/JDK-8190763> >>> Webrev : >>> http://cr.openjdk.java.net/~trebari/swing/8190763/webrev0/ >>> <http://cr.openjdk.java.net/~trebari/swing/8190763/webrev0/> >>> >>> Issue : This issue is a regression of >>> https://bugs.openjdk.java.net/browse/JDK-8030702 >>> <https://bugs.openjdk.java.net/browse/JDK-8030702>. >>> When UndoableEditEvent.getEdit() is casted to CompoundEdit, it throws class >>> cast exception. >>> >>> Fix : In JDK-8030702 <https://bugs.openjdk.java.net/browse/JDK-8030702> a >>> new class DefaultDocumentEventUndoableWrapper was introduced. >>> UndoableEditEvent.getEdit() returns an object of >>> DefaultDocumentEventUndoableWrapper >>> and when it is casted to CompoundEdit it throws class cast exception because >>> it doesn’t inherit CompoundEdit. >>> Before the fix of JDK-8030702 >>> <https://bugs.openjdk.java.net/browse/JDK-8030702> , >>> UndoableEditEvent.getEdit() used to return an object of >>> DefaultDocumentEvent which inherits CompoundEdit so the class cast >>> exception was not thrown. >>> The solution is to make DefaultDocumentEventUndoableWrapper a subclass of >>> DefaultDocumentEvent. >>> >>> Testing : I have tested it on Mac, Windows and Ubuntu. >>> >>> Regards >>> Tejpal >>> >>