diff options
Diffstat (limited to 'java/awt/font/TextLayout.java')
-rw-r--r-- | java/awt/font/TextLayout.java | 15 |
1 files changed, 13 insertions, 2 deletions
diff --git a/java/awt/font/TextLayout.java b/java/awt/font/TextLayout.java index 0362c2687..addf8a417 100644 --- a/java/awt/font/TextLayout.java +++ b/java/awt/font/TextLayout.java @@ -164,6 +164,11 @@ public final class TextLayout implements Cloneable private int[] visualToLogical; /** + * The cached hashCode. + */ + private int hash; + + /** * The default caret policy. */ public static final TextLayout.CaretPolicy DEFAULT_CARET_POLICY = @@ -1091,9 +1096,15 @@ public final class TextLayout implements Cloneable } public int hashCode () - throws NotImplementedException { - throw new Error ("not implemented"); + // This is implemented in sync to equals(). + if (hash == 0 && runs.length > 0) + { + hash = runs.length; + for (int i = 0; i < runs.length; i++) + hash ^= runs[i].glyphVector.hashCode(); + } + return hash; } public String toString () |