Ticket #13948: validator_seems_to_hang_2.patch

File validator_seems_to_hang_2.patch, 1.6 KB (added by GerdP, 7 years ago)
  • ValidatorTreePanel.java

     
    104104                removeKeyListener(keyListener);
    105105            }
    106106        }
     107        addDataSetListener();
     108    }
     109
     110    private void addDataSetListener() {
     111        if (getErrors().isEmpty())
     112            return;
    107113        DataSet ds = Main.getLayerManager().getEditDataSet();
    108114        if (ds != null) {
    109115            ds.addDataSetListener(this);
     
    302308     */
    303309    public final void setErrorList(List<TestError> errors) {
    304310        this.errors = errors;
     311        addDataSetListener();
    305312        if (isVisible()) {
    306313            buildTree();
    307314        }
     
    320327                errors.add(error);
    321328            }
    322329        }
     330        addDataSetListener();
    323331        if (isVisible()) {
    324332            buildTree();
    325333        }
     
    442450                err.getPrimitives().removeAll(event.getPrimitives());
    443451            } catch (UnsupportedOperationException e) {
    444452                if (event.getPrimitives().containsAll(err.getPrimitives())) {
    445                     err.getPrimitives().clear();
     453                    try {
     454                        err.getPrimitives().clear();
     455                    } catch (UnsupportedOperationException e2) {
     456                        Main.warn(e, "Unable to remove primitives from "+err+'.');
     457                    }
    446458                } else {
    447459                    Main.warn(e, "Unable to remove primitives from "+err+'.');
    448460                }