<Swing Dev> [14] RFR JDK-8190763 - Class cast exception on (CompoundEdit) UndoableEditEvent.getEdit()
Pankaj Bansal
pankaj.b.bansal at oracle.com
Tue Nov 12 07:04:03 UTC 2019
Looks good to me
-Pankaj
From: Prasanta Sadhukhan
Sent: Tuesday, November 12, 2019 11:30 AM
To: Tejpal Rebari; Pankaj Bansal
Cc: swing-dev at openjdk.java.net
Subject: Re: <Swing Dev> [14] RFR JDK-8190763 - Class cast exception on (CompoundEdit) UndoableEditEvent.getEdit()
Please remove ununsed imports from the test(no need for new webrev for me), other than that, looks ok to me.
Regards
Prasanta
On 12-Nov-19 11:24 AM, Tejpal Rebari wrote:
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/
Regards
Tejpal
On 11-Nov-2019, at 4:34 PM, Prasanta Sadhukhan <HYPERLINK "mailto:prasanta.sadhukhan at oracle.com"prasanta.sadhukhan at 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/
Regards
Tejpal
On 11-Nov-2019, at 12:02 PM, Pankaj Bansal <HYPERLINK "mailto:pankaj.b.bansal at oracle.com"pankaj.b.bansal at 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: HYPERLINK "mailto:swing-dev at openjdk.java.net"swing-dev at 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/
Regards
Tejpal
On 31-Oct-2019, at 1:58 PM, Prasanta Sadhukhan <HYPERLINK "mailto:prasanta.sadhukhan at oracle.com"prasanta.sadhukhan at 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
Webrev : http://cr.openjdk.java.net/~trebari/swing/8190763/webrev0/
Issue : This issue is a regression of https://bugs.openjdk.java.net/browse/JDK-8030702.
When UndoableEditEvent.getEdit() is casted to CompoundEdit, it throws class cast exception.
Fix : In HYPERLINK "https://bugs.openjdk.java.net/browse/JDK-8030702"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 HYPERLINK "https://bugs.openjdk.java.net/browse/JDK-8030702"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
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <https://mail.openjdk.java.net/pipermail/swing-dev/attachments/20191111/584622b4/attachment.html>
More information about the swing-dev
mailing list