diff --git a/dsf/org.eclipse.cdt.dsf/src/org/eclipse/cdt/dsf/concurrent/DsfMultiStatus.java b/dsf/org.eclipse.cdt.dsf/src/org/eclipse/cdt/dsf/concurrent/DsfMultiStatus.java index adde79b0bee..691e248c410 100644 --- a/dsf/org.eclipse.cdt.dsf/src/org/eclipse/cdt/dsf/concurrent/DsfMultiStatus.java +++ b/dsf/org.eclipse.cdt.dsf/src/org/eclipse/cdt/dsf/concurrent/DsfMultiStatus.java @@ -50,18 +50,12 @@ public class DsfMultiStatus extends MultiStatus { } @Override - public int getCode() { - IStatus[] children = getChildren(); - if (children.length != 0) { - int maxCode = Integer.MIN_VALUE; - for (IStatus status : children) { - if (status.getCode() > maxCode) { - maxCode = status.getCode(); - } - } - return maxCode; - } else { - return super.getCode(); + public void add(IStatus status) { + super.add(status); + int newCode = status.getCode(); + if (newCode > getCode()) { + setCode(newCode); } + } }