Ignore:
Timestamp:
2013-01-26T16:49:29+01:00 (11 years ago)
Author:
Don-vip
Message:

Improve validator layer painting performance (major slowdown seen with #3346 test file)

File:
1 edited

Legend:

Unmodified
Added
Removed
  • trunk/src/org/openstreetmap/josm/gui/layer/ValidatorLayer.java

    r3674 r5671  
    1717import org.openstreetmap.josm.data.osm.visitor.BoundingXYVisitor;
    1818import org.openstreetmap.josm.data.validation.OsmValidator;
     19import org.openstreetmap.josm.data.validation.PaintVisitor;
    1920import org.openstreetmap.josm.data.validation.Severity;
    2021import org.openstreetmap.josm.data.validation.TestError;
     
    3536    private int updateCount = -1;
    3637
     38    /**
     39     * Constructs a new Validator layer
     40     */
    3741    public ValidatorLayer() {
    3842        super(tr("Validation errors"));
     
    6064        if (root == null || root.getChildCount() == 0)
    6165            return;
     66       
     67        PaintVisitor paintVisitor = new PaintVisitor(g, mv);
    6268
    6369        DefaultMutableTreeNode severity = (DefaultMutableTreeNode) root.getLastChild();
     
    6773                Object tn = errorMessages.nextElement().getUserObject();
    6874                if (tn instanceof TestError) {
    69                     ((TestError) tn).paint(g, mv);
     75                    paintVisitor.visit(((TestError) tn));
    7076                }
    7177            }
     
    7480            severity = severity.getPreviousSibling();
    7581        }
     82       
     83        paintVisitor.clearPaintedObjects();
    7684    }
    7785
Note: See TracChangeset for help on using the changeset viewer.