Skip to content

Commit 3c47c01

Browse files
committed
Catch IllegalArgumentException when resolving target definition
When the target editor is opened, PDE tries to delete the old target handle as part of "Bug 545681 - UI Freeze of >800s in TargetEditor when opening editor". If the profile is not locked (due to whatever reasons), an IllegalArgumentException is thrown, blocking the resolution of this file.
1 parent 86c6465 commit 3c47c01

File tree

1 file changed

+3
-4
lines changed
  • ui/org.eclipse.pde.ui/src/org/eclipse/pde/internal/ui/editor/targetdefinition

1 file changed

+3
-4
lines changed

ui/org.eclipse.pde.ui/src/org/eclipse/pde/internal/ui/editor/targetdefinition/TargetEditor.java

Lines changed: 3 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -40,6 +40,7 @@
4040
import org.eclipse.core.runtime.IPath;
4141
import org.eclipse.core.runtime.IProgressMonitor;
4242
import org.eclipse.core.runtime.IStatus;
43+
import org.eclipse.core.runtime.SafeRunner;
4344
import org.eclipse.core.runtime.Status;
4445
import org.eclipse.core.runtime.jobs.Job;
4546
import org.eclipse.core.runtime.jobs.JobChangeAdapter;
@@ -683,12 +684,10 @@ public void contentsChanged(ITargetDefinition definition, Object source, boolean
683684
@Override
684685
protected IStatus run(IProgressMonitor monitor) {
685686
// delete profile
686-
try {
687+
SafeRunner.run(() -> {
687688
P2TargetUtils.forceCheckTarget(getTarget());
688689
P2TargetUtils.deleteProfile(getTarget().getHandle());
689-
} catch (CoreException e) {
690-
PDEPlugin.log(e);
691-
}
690+
});
692691
getTarget().resolve(monitor);
693692
if (monitor.isCanceled()) {
694693
return Status.CANCEL_STATUS;

0 commit comments

Comments
 (0)