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!!


Esteban

Reply via email to