Details
-
Bug
-
Status: Closed
-
Major
-
Resolution: Fixed
-
2.0.17
-
None
Description
From "Esteban R" in the users mailing list:
This is a simplification of a real life problem: when I compare two TextPositions, equality changes after calling getDir() in one of the TextPositions.
Code to reproduce:
Matrix m1 = new Matrix(1, 1, 1, 1, 1, 1); Matrix m2 = new Matrix(1, 1, 1, 1, 1, 1); TextPosition t1 = new TextPosition(0, 1000, 1000, m2, 10, 10, 100, 10, 10, "a", null, null, 10, 10); TextPosition t2 = new TextPosition(0, 1000, 1000, m2, 10, 10, 100, 10, 10, "a", null, null, 10, 10); System.out.println("Before getDir, equals: "+t1.equals(t2)); //true t1.getDir(); //changes direction field!!! System.out.println("After getDir, equals: "+t1.equals(t2)); //false!!
The reason is that mutable fields are used in equals().
Attachments
Issue Links
- relates to
-
PDFBOX-3576 Add getter methods to TextPosition
- Closed