1
0
Fork 0
mirror of https://github.com/eclipse-cdt/cdt synced 2025-04-29 19:45:01 +02:00

Do not interrupt the initialization of all additional source locations if the initialization of one fails.

This commit is contained in:
Mikhail Khodjaiants 2003-10-20 22:29:41 +00:00
parent 7cfb47c220
commit 2767f3a948
2 changed files with 21 additions and 2 deletions

View file

@ -1,3 +1,8 @@
2003-10-20 Mikhail Khodjaiants
Do not interrupt the initialization of all additional source locations
if the initialization of one fails.
* CSourceLocator.java
2003-10-17 Alain Magloire
ICDIBreakpointManager new method

View file

@ -37,6 +37,7 @@ import org.eclipse.core.resources.IResourceDelta;
import org.eclipse.core.resources.IWorkspace;
import org.eclipse.core.runtime.CoreException;
import org.eclipse.core.runtime.IStatus;
import org.eclipse.core.runtime.MultiStatus;
import org.eclipse.core.runtime.Status;
import org.eclipse.debug.core.ILaunchConfiguration;
import org.eclipse.debug.core.model.IPersistableSourceLocator;
@ -406,6 +407,10 @@ public class CSourceLocator implements ICSourceLocator, IPersistableSourceLocato
{
ClassLoader classLoader = CDebugCorePlugin.getDefault() .getDescriptor().getPluginClassLoader();
MultiStatus status = new MultiStatus( CDebugCorePlugin.getUniqueIdentifier(),
CDebugCorePlugin.INTERNAL_ERROR,
"Error initializing directory source location.",
null );
NodeList list = root.getChildNodes();
int length = list.getLength();
for ( int i = 0; i < length; ++i )
@ -450,12 +455,21 @@ public class CSourceLocator implements ICSourceLocator, IPersistableSourceLocato
CDebugCorePlugin.log( "Unable to restore source location." );
continue;
}
try
{
location.initializeFrom( data );
sourceLocations.add( location );
}
catch( CoreException e )
{
status.addAll( e.getStatus() );
}
}
}
}
if ( status.getSeverity() > IStatus.OK )
throw new CoreException( status );
}
private void addOldLocations( Element root, List sourceLocations ) throws CoreException
{