Bug 277081 -  [Progress] UIJob should also log errors
diff --git a/bundles/org.eclipse.core.jobs/src/org/eclipse/core/internal/jobs/JobManager.java b/bundles/org.eclipse.core.jobs/src/org/eclipse/core/internal/jobs/JobManager.java
index 67e67fe..d9eb57e 100644
--- a/bundles/org.eclipse.core.jobs/src/org/eclipse/core/internal/jobs/JobManager.java
+++ b/bundles/org.eclipse.core.jobs/src/org/eclipse/core/internal/jobs/JobManager.java
@@ -637,6 +637,9 @@
 		//reschedule the job if requested and we are still active
 		if (reschedule)
 			schedule(job, rescheduleDelay, reschedule);
+		//log result if it is warning or error
+		if ((result.getSeverity() & (IStatus.ERROR | IStatus.WARNING)) != 0)
+			RuntimeLog.log(result);
 	}
 
 	/* (non-Javadoc)
diff --git a/bundles/org.eclipse.core.jobs/src/org/eclipse/core/internal/jobs/Worker.java b/bundles/org.eclipse.core.jobs/src/org/eclipse/core/internal/jobs/Worker.java
index 1baea12..27e2772 100644
--- a/bundles/org.eclipse.core.jobs/src/org/eclipse/core/internal/jobs/Worker.java
+++ b/bundles/org.eclipse.core.jobs/src/org/eclipse/core/internal/jobs/Worker.java
@@ -1,5 +1,5 @@
 /*******************************************************************************
- *  Copyright (c) 2003, 2008 IBM Corporation and others.
+ *  Copyright (c) 2003, 2010 IBM Corporation and others.
  *  All rights reserved. This program and the accompanying materials
  *  are made available under the terms of the Eclipse Public License v1.0
  *  which accompanies this distribution, and is available at
@@ -10,7 +10,6 @@
  *******************************************************************************/
 package org.eclipse.core.internal.jobs;
 
-import org.eclipse.core.internal.runtime.RuntimeLog;
 import org.eclipse.core.runtime.*;
 import org.eclipse.core.runtime.jobs.Job;
 import org.eclipse.osgi.util.NLS;
@@ -70,8 +69,6 @@
 					if (result == null)
 						result = handleException(currentJob, new NullPointerException());
 					pool.endJob(currentJob, result);
-					if ((result.getSeverity() & (IStatus.ERROR | IStatus.WARNING)) != 0)
-						RuntimeLog.log(result);
 					currentJob = null;
 					//reset thread priority in case job changed it
 					setPriority(Thread.NORM_PRIORITY);