[
https://issues.apache.org/jira/browse/IVYDE-132?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel
]
Nicolas Lalevée resolved IVYDE-132.
-----------------------------------
Resolution: Duplicate
> NPE in org.apache.ivyde.eclipse.IvyPlugin.getIvy
> ------------------------------------------------
>
> Key: IVYDE-132
> URL: https://issues.apache.org/jira/browse/IVYDE-132
> Project: IvyDE
> Issue Type: Bug
> Components: classpath container
> Affects Versions: 2.0.0.alpha1
> Environment: Eclipse 3.2.2 / Rational v7.0 (pre 7.5)
> Reporter: Mladen Maravic
> Priority: Minor
>
> Sometimes, IvyDE would cause the following errors to be logged into the
> Eclipse error log:
> java.lang.NullPointerException
> at org.eclipse.jface.dialogs.IconAndMessageDialog.getSWTImage(Unknown
> Source)
> at
> org.eclipse.jface.dialogs.IconAndMessageDialog.getWarningImage(Unknown Source)
> at org.eclipse.jface.dialogs.MessageDialog.<init>(Unknown Source)
> at org.eclipse.jface.dialogs.MessageDialog.openWarning(Unknown Source)
> at org.apache.ivyde.eclipse.IvyPlugin.getIvy(Unknown Source)
> at
> org.apache.ivyde.eclipse.cpcontainer.IvyClasspathContainer.computeClasspathEntries(Unknown
> Source)
> at
> org.apache.ivyde.eclipse.cpcontainer.IvyClasspathContainer.scheduleRefresh(Unknown
> Source)
> at
> org.apache.ivyde.eclipse.cpcontainer.IvyClasspathInitializer.initialize(Unknown
> Source)
> at
> org.eclipse.jdt.internal.core.JavaModelManager.initializeContainer(Unknown
> Source)
> at org.eclipse.jdt.internal.core.JavaModelManager$8.run(Unknown Source)
> at org.eclipse.core.internal.resources.Workspace.run(Unknown Source)
> at
> org.eclipse.jdt.internal.core.JavaModelManager.initializeAllContainers(Unknown
> Source)
> at
> org.eclipse.jdt.internal.core.JavaModelManager.getClasspathContainer(Unknown
> Source)
> at org.eclipse.jdt.core.JavaCore.getClasspathContainer(Unknown Source)
> at
> org.eclipse.jdt.internal.core.JavaProject.getResolvedClasspath(Unknown Source)
> at
> org.eclipse.jdt.internal.core.JavaProject.getResolvedClasspath(Unknown Source)
> at
> org.eclipse.jdt.internal.core.DeltaProcessingState.initializeRoots(Unknown
> Source)
> at org.eclipse.jdt.core.JavaCore.initializeAfterLoad(Unknown Source)
> at
> org.eclipse.jdt.internal.ui.InitializeAfterLoadJob$RealJob.run(Unknown Source)
> at org.eclipse.core.internal.jobs.Worker.run(Unknown Source)
> (I've seen instances where line number are present!).
> This is due to the fact that the org.apache.ivyde.eclipse.IvyPlugin.getIvy()
> method uses MessageDialog.openWarning method. MessageDialog uses
> Display.getCurrent() internally. This results in errors if
> MessageDialog.openXXXX is used outside of the UI thread.
> To correct this, every MessageDialog.openXYZ in getIvy method should be
> surrounded by this code:
> Display.getDefault().asyncExec(new Runnable() {
> public void run() {
> MessageDialog.openXYZ(.......);
> }
> });
--
This message is automatically generated by JIRA.
-
You can reply to this email to add a comment to the issue online.