diff options
Diffstat (limited to 'libjava/classpath/javax/swing/tree/TreePath.java')
-rw-r--r-- | libjava/classpath/javax/swing/tree/TreePath.java | 16 |
1 files changed, 9 insertions, 7 deletions
diff --git a/libjava/classpath/javax/swing/tree/TreePath.java b/libjava/classpath/javax/swing/tree/TreePath.java index 4671c4b..93b59b0 100644 --- a/libjava/classpath/javax/swing/tree/TreePath.java +++ b/libjava/classpath/javax/swing/tree/TreePath.java @@ -262,14 +262,16 @@ public class TreePath implements Serializable if (path == null) return false; int count = getPathCount(); - if (path.getPathCount() < count) + int otherPathLength = path.getPathCount(); + if (otherPathLength < count) return false; - for (int i = 0; i < count; i++) - { - if (!this.path[i].equals(path.getPathComponent(i))) - return false; - } - return true; + while (otherPathLength > count) + { + otherPathLength--; + path = path.getParentPath(); + } + + return equals(path); } /** |