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

Reply via email to