6612497: api/java_awt/Container/index.html#isAncestorOf Container2019 hangs since JDK 7 b15
Summary: Partial rollback changes for 6567564 in the Component.getGC method
Reviewed-by: art, son
--- a/jdk/src/share/classes/java/awt/Component.java Fri Mar 14 17:23:25 2008 +0300
+++ b/jdk/src/share/classes/java/awt/Component.java Fri Mar 14 18:27:34 2008 +0300
@@ -935,24 +935,26 @@
*/
public GraphicsConfiguration getGraphicsConfiguration() {
synchronized(getTreeLock()) {
- GraphicsConfiguration gc = graphicsConfig;
- Component parent = getParent();
- while ((gc == null) && (parent != null)) {
- gc = parent.getGraphicsConfiguration();
- parent = parent.getParent();
- }
- return gc;
+ if (graphicsConfig != null) {
+ return graphicsConfig;
+ } else if (getParent() != null) {
+ return getParent().getGraphicsConfiguration();
+ } else {
+ return null;
+ }
}
}
final GraphicsConfiguration getGraphicsConfiguration_NoClientCode() {
- GraphicsConfiguration gc = this.graphicsConfig;
- Component par = this.parent;
- while ((gc == null) && (par != null)) {
- gc = par.getGraphicsConfiguration_NoClientCode();
- par = par.parent;
- }
- return gc;
+ GraphicsConfiguration graphicsConfig = this.graphicsConfig;
+ Container parent = this.parent;
+ if (graphicsConfig != null) {
+ return graphicsConfig;
+ } else if (parent != null) {
+ return parent.getGraphicsConfiguration_NoClientCode();
+ } else {
+ return null;
+ }
}
/**