<Swing Dev> [12] RFR JDK-8211703: JInternalFrame : java.lang.AssertionError: cannot find the internal frame
Prasanta Sadhukhan
prasanta.sadhukhan at oracle.com
Thu Oct 4 14:35:42 UTC 2018
Hi All,
Please review a cleanup of the code where wrong assertion is used when
Component is an instance of BasicInternalFrameTitlePane.
Now, BasicInternalFrameTitlePane is extended from JComponent and not
from JInternalFrame
so it will never satisfy the if-else condition if "Component is
instanceof BasicInternalFrameTitlePane",
so proposed fix is to assert only if the component is not an instance of
BasicInternalFrameTitlePane
diff -r d96a607e9594
src/java.desktop/share/classes/com/sun/java/swing/plaf/gtk/Metacity.java
---
a/src/java.desktop/share/classes/com/sun/java/swing/plaf/gtk/Metacity.java
Tue Sep 18 18:32:03 2018 -0700
+++
b/src/java.desktop/share/classes/com/sun/java/swing/plaf/gtk/Metacity.java
Thu Oct 04 19:53:10 2018 +0530
@@ -337,7 +337,9 @@
} else if (comp instanceof JInternalFrame.JDesktopIcon) {
return ((JInternalFrame.JDesktopIcon)comp).getInternalFrame();
}
- assert false : "cannot find the internal frame";
+ if (!(comp instanceof BasicInternalFrameTitlePane)) {
+ assert false : "cannot find the internal frame";
+ }
return null;
}
Regards
Prasanta
More information about the swing-dev
mailing list