From 86c5b5ee8a8ecbe949d74fa0d9430e32c48ce230 Mon Sep 17 00:00:00 2001 From: dcherepanov Date: Fri, 14 Mar 2008 18:27:34 +0300 Subject: [PATCH] 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 --- src/share/classes/java/awt/Component.java | 26 ++++++++++++----------- 1 file changed, 14 insertions(+), 12 deletions(-) diff --git a/src/share/classes/java/awt/Component.java b/src/share/classes/java/awt/Component.java index 38d50d5d0..5435d9b25 100644 --- a/src/share/classes/java/awt/Component.java +++ b/src/share/classes/java/awt/Component.java @@ -935,24 +935,26 @@ public abstract class Component implements ImageObserver, MenuContainer, */ public GraphicsConfiguration getGraphicsConfiguration() { synchronized(getTreeLock()) { - GraphicsConfiguration gc = graphicsConfig; - Component parent = getParent(); - while ((gc == null) && (parent != null)) { - gc = parent.getGraphicsConfiguration(); - parent = parent.getParent(); + if (graphicsConfig != null) { + return graphicsConfig; + } else if (getParent() != null) { + return getParent().getGraphicsConfiguration(); + } else { + return null; } - return gc; } } final GraphicsConfiguration getGraphicsConfiguration_NoClientCode() { - GraphicsConfiguration gc = this.graphicsConfig; - Component par = this.parent; - while ((gc == null) && (par != null)) { - gc = par.getGraphicsConfiguration_NoClientCode(); - par = par.parent; + GraphicsConfiguration graphicsConfig = this.graphicsConfig; + Container parent = this.parent; + if (graphicsConfig != null) { + return graphicsConfig; + } else if (parent != null) { + return parent.getGraphicsConfiguration_NoClientCode(); + } else { + return null; } - return gc; } /** -- GitLab