Skip to content

Commit df29a67

Browse files
ptzieglermerks
authored andcommitted
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 e58de5f commit df29a67

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;
@@ -702,12 +703,10 @@ public void contentsChanged(ITargetDefinition definition, Object source, boolean
702703
@Override
703704
protected IStatus run(IProgressMonitor monitor) {
704705
// delete profile
705-
try {
706+
SafeRunner.run(() -> {
706707
P2TargetUtils.forceCheckTarget(getTarget());
707708
P2TargetUtils.deleteProfile(getTarget().getHandle());
708-
} catch (CoreException e) {
709-
PDEPlugin.log(e);
710-
}
709+
});
711710
getTarget().resolve(monitor);
712711
if (monitor.isCanceled()) {
713712
return Status.CANCEL_STATUS;

0 commit comments

Comments
 (0)