aboutsummaryrefslogtreecommitdiff
path: root/libjava/classpath/javax/swing/tree/TreePath.java
diff options
context:
space:
mode:
Diffstat (limited to 'libjava/classpath/javax/swing/tree/TreePath.java')
-rw-r--r--libjava/classpath/javax/swing/tree/TreePath.java16
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);
}
/**