mirror of
https://github.com/eclipse-cdt/cdt
synced 2025-06-08 10:16:03 +02:00
set default source locator method added and called in delegate
This commit is contained in:
parent
5311b76a0f
commit
952ffbce46
8 changed files with 185 additions and 24 deletions
|
@ -1,3 +1,9 @@
|
||||||
|
2002-12-17 David Inglis
|
||||||
|
|
||||||
|
* src/.../launch/AbstractCLaunchDelegate.java(setDefaultSourceLocator): new method
|
||||||
|
* src/.../sourcelookup/DefaultSourceLocator.java:new class
|
||||||
|
add method for delegate to call to set a default source locator.
|
||||||
|
|
||||||
2002-12-03 Alain Magloire
|
2002-12-03 Alain Magloire
|
||||||
|
|
||||||
* src/.../internal/LocalCLaunchConfigurationDelegate.java(exec):
|
* src/.../internal/LocalCLaunchConfigurationDelegate.java(exec):
|
||||||
|
|
|
@ -19,6 +19,7 @@ import org.eclipse.cdt.core.model.ICProject;
|
||||||
import org.eclipse.cdt.debug.core.CDebugCorePlugin;
|
import org.eclipse.cdt.debug.core.CDebugCorePlugin;
|
||||||
import org.eclipse.cdt.debug.core.ICDebugConfiguration;
|
import org.eclipse.cdt.debug.core.ICDebugConfiguration;
|
||||||
import org.eclipse.cdt.launch.internal.ui.LaunchUIPlugin;
|
import org.eclipse.cdt.launch.internal.ui.LaunchUIPlugin;
|
||||||
|
import org.eclipse.cdt.launch.sourcelookup.DefaultSourceLocator;
|
||||||
import org.eclipse.core.resources.IContainer;
|
import org.eclipse.core.resources.IContainer;
|
||||||
import org.eclipse.core.resources.IFile;
|
import org.eclipse.core.resources.IFile;
|
||||||
import org.eclipse.core.resources.IProject;
|
import org.eclipse.core.resources.IProject;
|
||||||
|
@ -35,6 +36,7 @@ import org.eclipse.debug.core.ILaunch;
|
||||||
import org.eclipse.debug.core.ILaunchConfiguration;
|
import org.eclipse.debug.core.ILaunchConfiguration;
|
||||||
import org.eclipse.debug.core.IStatusHandler;
|
import org.eclipse.debug.core.IStatusHandler;
|
||||||
import org.eclipse.debug.core.model.ILaunchConfigurationDelegate;
|
import org.eclipse.debug.core.model.ILaunchConfigurationDelegate;
|
||||||
|
import org.eclipse.debug.core.model.IPersistableSourceLocator;
|
||||||
|
|
||||||
abstract public class AbstractCLaunchDelegate implements ILaunchConfigurationDelegate {
|
abstract public class AbstractCLaunchDelegate implements ILaunchConfigurationDelegate {
|
||||||
|
|
||||||
|
@ -45,7 +47,8 @@ abstract public class AbstractCLaunchDelegate implements ILaunchConfigurationDel
|
||||||
Map env = null;
|
Map env = null;
|
||||||
try {
|
try {
|
||||||
env = config.getAttribute(ICDTLaunchConfigurationConstants.ATTR_PROGRAM_ENVIROMENT_MAP, (Map) null);
|
env = config.getAttribute(ICDTLaunchConfigurationConstants.ATTR_PROGRAM_ENVIROMENT_MAP, (Map) null);
|
||||||
} catch (CoreException e) {
|
}
|
||||||
|
catch (CoreException e) {
|
||||||
}
|
}
|
||||||
if (env == null) {
|
if (env == null) {
|
||||||
return new String[0];
|
return new String[0];
|
||||||
|
@ -125,7 +128,7 @@ abstract public class AbstractCLaunchDelegate implements ILaunchConfigurationDel
|
||||||
*/
|
*/
|
||||||
protected void abort(String message, Throwable exception, int code) throws CoreException {
|
protected void abort(String message, Throwable exception, int code) throws CoreException {
|
||||||
String newMessage = message;
|
String newMessage = message;
|
||||||
if ( exception != null ) {
|
if (exception != null) {
|
||||||
newMessage = message + " : " + exception.getLocalizedMessage();
|
newMessage = message + " : " + exception.getLocalizedMessage();
|
||||||
}
|
}
|
||||||
throw new CoreException(new Status(IStatus.ERROR, getPluginID(), code, newMessage, exception));
|
throw new CoreException(new Status(IStatus.ERROR, getPluginID(), code, newMessage, exception));
|
||||||
|
@ -137,7 +140,6 @@ abstract public class AbstractCLaunchDelegate implements ILaunchConfigurationDel
|
||||||
|
|
||||||
abstract protected String getPluginID();
|
abstract protected String getPluginID();
|
||||||
|
|
||||||
|
|
||||||
public static ICProject getCProject(ILaunchConfiguration configuration) throws CoreException {
|
public static ICProject getCProject(ILaunchConfiguration configuration) throws CoreException {
|
||||||
String projectName = getProjectName(configuration);
|
String projectName = getProjectName(configuration);
|
||||||
if (projectName != null) {
|
if (projectName != null) {
|
||||||
|
@ -161,6 +163,29 @@ abstract public class AbstractCLaunchDelegate implements ILaunchConfigurationDel
|
||||||
return configuration.getAttribute(ICDTLaunchConfigurationConstants.ATTR_PROGRAM_NAME, (String) null);
|
return configuration.getAttribute(ICDTLaunchConfigurationConstants.ATTR_PROGRAM_NAME, (String) null);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
/**
|
||||||
|
* Assigns a default source locator to the given launch if a source locator has not yet been assigned to it, and the associated
|
||||||
|
* launch configuration does not specify a source locator.
|
||||||
|
*
|
||||||
|
* @param launch launch object
|
||||||
|
* @param configuration configuration being launched
|
||||||
|
* @exception CoreException if unable to set the source locator
|
||||||
|
*/
|
||||||
|
protected void setDefaultSourceLocator(ILaunch launch, ILaunchConfiguration configuration) throws CoreException {
|
||||||
|
// set default source locator if none specified
|
||||||
|
if (launch.getSourceLocator() == null) {
|
||||||
|
String id = configuration.getAttribute(ILaunchConfiguration.ATTR_SOURCE_LOCATOR_ID, (String) null);
|
||||||
|
if (id == null) {
|
||||||
|
ICProject cProject = getCProject(configuration);
|
||||||
|
if (cProject != null) {
|
||||||
|
IPersistableSourceLocator sourceLocator = new DefaultSourceLocator();
|
||||||
|
sourceLocator.initializeDefaults(configuration);
|
||||||
|
launch.setSourceLocator(sourceLocator);
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* Returns the program arguments as a String.
|
* Returns the program arguments as a String.
|
||||||
*
|
*
|
||||||
|
@ -238,7 +263,8 @@ abstract public class AbstractCLaunchDelegate implements ILaunchConfigurationDel
|
||||||
IProject project = ResourcesPlugin.getWorkspace().getRoot().getProject(name);
|
IProject project = ResourcesPlugin.getWorkspace().getRoot().getProject(name);
|
||||||
if (!project.exists()) {
|
if (!project.exists()) {
|
||||||
abort("Project does not exist", null, ICDTLaunchConfigurationConstants.ERR_NOT_A_C_PROJECT);
|
abort("Project does not exist", null, ICDTLaunchConfigurationConstants.ERR_NOT_A_C_PROJECT);
|
||||||
} else if (!project.isOpen()) {
|
}
|
||||||
|
else if (!project.isOpen()) {
|
||||||
abort("Project is closed", null, ICDTLaunchConfigurationConstants.ERR_NOT_A_C_PROJECT);
|
abort("Project is closed", null, ICDTLaunchConfigurationConstants.ERR_NOT_A_C_PROJECT);
|
||||||
}
|
}
|
||||||
abort("Project is not a C/C++ project", null, ICDTLaunchConfigurationConstants.ERR_NOT_A_C_PROJECT);
|
abort("Project is not a C/C++ project", null, ICDTLaunchConfigurationConstants.ERR_NOT_A_C_PROJECT);
|
||||||
|
@ -249,7 +275,7 @@ abstract public class AbstractCLaunchDelegate implements ILaunchConfigurationDel
|
||||||
protected IPath verifyProgramFile(ILaunchConfiguration config) throws CoreException {
|
protected IPath verifyProgramFile(ILaunchConfiguration config) throws CoreException {
|
||||||
ICProject cproject = verifyCProject(config);
|
ICProject cproject = verifyCProject(config);
|
||||||
String fileName = getProgramName(config);
|
String fileName = getProgramName(config);
|
||||||
if ( fileName == null ) {
|
if (fileName == null) {
|
||||||
abort("Program file not specified", null, ICDTLaunchConfigurationConstants.ERR_UNSPECIFIED_PROGRAM);
|
abort("Program file not specified", null, ICDTLaunchConfigurationConstants.ERR_UNSPECIFIED_PROGRAM);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@ -279,20 +305,30 @@ abstract public class AbstractCLaunchDelegate implements ILaunchConfigurationDel
|
||||||
IProject p = cp.getProject();
|
IProject p = cp.getProject();
|
||||||
return p.getLocation().toFile();
|
return p.getLocation().toFile();
|
||||||
}
|
}
|
||||||
} else {
|
}
|
||||||
|
else {
|
||||||
if (path.isAbsolute()) {
|
if (path.isAbsolute()) {
|
||||||
File dir = new File(path.toOSString());
|
File dir = new File(path.toOSString());
|
||||||
if (dir.isDirectory()) {
|
if (dir.isDirectory()) {
|
||||||
return dir;
|
return dir;
|
||||||
} else {
|
|
||||||
abort("Working directory does not exist", null, ICDTLaunchConfigurationConstants.ERR_WORKING_DIRECTORY_DOES_NOT_EXIST);
|
|
||||||
}
|
}
|
||||||
} else {
|
else {
|
||||||
|
abort(
|
||||||
|
"Working directory does not exist",
|
||||||
|
null,
|
||||||
|
ICDTLaunchConfigurationConstants.ERR_WORKING_DIRECTORY_DOES_NOT_EXIST);
|
||||||
|
}
|
||||||
|
}
|
||||||
|
else {
|
||||||
IResource res = ResourcesPlugin.getWorkspace().getRoot().findMember(path);
|
IResource res = ResourcesPlugin.getWorkspace().getRoot().findMember(path);
|
||||||
if (res instanceof IContainer && res.exists()) {
|
if (res instanceof IContainer && res.exists()) {
|
||||||
return res.getLocation().toFile();
|
return res.getLocation().toFile();
|
||||||
} else {
|
}
|
||||||
abort("Working directory does not exist", null, ICDTLaunchConfigurationConstants.ERR_WORKING_DIRECTORY_DOES_NOT_EXIST);
|
else {
|
||||||
|
abort(
|
||||||
|
"Working directory does not exist",
|
||||||
|
null,
|
||||||
|
ICDTLaunchConfigurationConstants.ERR_WORKING_DIRECTORY_DOES_NOT_EXIST);
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
|
@ -218,7 +218,7 @@ public class CApplicationLaunchShortcut implements ILaunchShortcut {
|
||||||
dialog.setMultipleSelection(false);
|
dialog.setMultipleSelection(false);
|
||||||
int result = dialog.open();
|
int result = dialog.open();
|
||||||
provider.dispose();
|
provider.dispose();
|
||||||
if (result == dialog.OK) {
|
if (result == ElementListSelectionDialog.OK) {
|
||||||
return (ICDebugConfiguration) dialog.getFirstResult();
|
return (ICDebugConfiguration) dialog.getFirstResult();
|
||||||
}
|
}
|
||||||
return null;
|
return null;
|
||||||
|
@ -242,7 +242,7 @@ public class CApplicationLaunchShortcut implements ILaunchShortcut {
|
||||||
dialog.setMultipleSelection(false);
|
dialog.setMultipleSelection(false);
|
||||||
int result = dialog.open();
|
int result = dialog.open();
|
||||||
labelProvider.dispose();
|
labelProvider.dispose();
|
||||||
if (result == dialog.OK) {
|
if (result == ElementListSelectionDialog.OK) {
|
||||||
return (ILaunchConfiguration) dialog.getFirstResult();
|
return (ILaunchConfiguration) dialog.getFirstResult();
|
||||||
}
|
}
|
||||||
return null;
|
return null;
|
||||||
|
@ -263,7 +263,7 @@ public class CApplicationLaunchShortcut implements ILaunchShortcut {
|
||||||
dialog.setMessage("Choose an application to run"); //$NON-NLS-1$
|
dialog.setMessage("Choose an application to run"); //$NON-NLS-1$
|
||||||
}
|
}
|
||||||
dialog.setMultipleSelection(false);
|
dialog.setMultipleSelection(false);
|
||||||
if (dialog.open() == dialog.OK) {
|
if (dialog.open() == ElementListSelectionDialog.OK) {
|
||||||
return (IBinary) dialog.getFirstResult();
|
return (IBinary) dialog.getFirstResult();
|
||||||
}
|
}
|
||||||
return null;
|
return null;
|
||||||
|
|
|
@ -63,7 +63,7 @@ public class CoreFileLaunchDelegate extends AbstractCLaunchDelegate {
|
||||||
abort("Failed Launching CDI Debugger", e, ICDTLaunchConfigurationConstants.ERR_INTERNAL_ERROR);
|
abort("Failed Launching CDI Debugger", e, ICDTLaunchConfigurationConstants.ERR_INTERNAL_ERROR);
|
||||||
}
|
}
|
||||||
if ( debugger != null ) {
|
if ( debugger != null ) {
|
||||||
debuggerProcess = DebugPlugin.getDefault().newProcess(launch, debugger, "Debug Console");
|
debuggerProcess = DebugPlugin.newProcess(launch, debugger, "Debug Console");
|
||||||
launch.removeProcess(debuggerProcess);
|
launch.removeProcess(debuggerProcess);
|
||||||
}
|
}
|
||||||
CDebugModel.newCoreFileDebugTarget(
|
CDebugModel.newCoreFileDebugTarget(
|
||||||
|
|
|
@ -136,9 +136,13 @@ public class LocalCLaunchConfigurationDelegate extends AbstractCLaunchDelegate {
|
||||||
wd = new File(System.getProperty("user.home", ".")); //NON-NLS-1;
|
wd = new File(System.getProperty("user.home", ".")); //NON-NLS-1;
|
||||||
}
|
}
|
||||||
Process process = exec(commandArray, getEnvironmentProperty(config), wd);
|
Process process = exec(commandArray, getEnvironmentProperty(config), wd);
|
||||||
DebugPlugin.getDefault().newProcess(launch, process, renderProcessLabel(commandArray[0]));
|
DebugPlugin.newProcess(launch, process, renderProcessLabel(commandArray[0]));
|
||||||
}
|
}
|
||||||
|
// set the default source locator if required
|
||||||
|
setDefaultSourceLocator(launch, config);
|
||||||
|
|
||||||
monitor.done();
|
monitor.done();
|
||||||
|
|
||||||
}
|
}
|
||||||
|
|
||||||
private int getProcessID() throws CoreException {
|
private int getProcessID() throws CoreException {
|
||||||
|
@ -164,7 +168,7 @@ public class LocalCLaunchConfigurationDelegate extends AbstractCLaunchDelegate {
|
||||||
return;
|
return;
|
||||||
}
|
}
|
||||||
dialog.setElements(plist.getProcessList());
|
dialog.setElements(plist.getProcessList());
|
||||||
if (dialog.open() == dialog.OK) {
|
if (dialog.open() == ElementListSelectionDialog.OK) {
|
||||||
IProcessInfo info = (IProcessInfo) dialog.getFirstResult();
|
IProcessInfo info = (IProcessInfo) dialog.getFirstResult();
|
||||||
pid[0] = info.getPid();
|
pid[0] = info.getPid();
|
||||||
}
|
}
|
||||||
|
|
|
@ -0,0 +1,115 @@
|
||||||
|
/*
|
||||||
|
*(c) Copyright QNX Software Systems Ltd. 2002.
|
||||||
|
* All Rights Reserved.
|
||||||
|
*
|
||||||
|
*/
|
||||||
|
package org.eclipse.cdt.launch.sourcelookup;
|
||||||
|
|
||||||
|
import java.text.MessageFormat;
|
||||||
|
|
||||||
|
import org.eclipse.cdt.debug.core.sourcelookup.ICSourceLocator;
|
||||||
|
import org.eclipse.cdt.debug.core.sourcelookup.ISourceMode;
|
||||||
|
import org.eclipse.cdt.debug.ui.sourcelookup.CUISourceLocator;
|
||||||
|
import org.eclipse.cdt.launch.ICDTLaunchConfigurationConstants;
|
||||||
|
import org.eclipse.cdt.launch.internal.ui.LaunchUIPlugin;
|
||||||
|
import org.eclipse.core.resources.IProject;
|
||||||
|
import org.eclipse.core.resources.ResourcesPlugin;
|
||||||
|
import org.eclipse.core.runtime.CoreException;
|
||||||
|
import org.eclipse.core.runtime.IAdaptable;
|
||||||
|
import org.eclipse.core.runtime.IStatus;
|
||||||
|
import org.eclipse.core.runtime.Status;
|
||||||
|
import org.eclipse.debug.core.ILaunchConfiguration;
|
||||||
|
import org.eclipse.debug.core.model.IPersistableSourceLocator;
|
||||||
|
import org.eclipse.debug.core.model.IStackFrame;
|
||||||
|
|
||||||
|
/**
|
||||||
|
* The wrapper for the CUISourceLocator class.
|
||||||
|
*
|
||||||
|
* @since: Dec 11, 2002
|
||||||
|
*/
|
||||||
|
public class DefaultSourceLocator implements IPersistableSourceLocator, IAdaptable
|
||||||
|
{
|
||||||
|
/**
|
||||||
|
* Identifier for the 'Default C/C++ Source Locator' extension
|
||||||
|
* (value <code>"org.eclipse.cdt.launch.DefaultSourceLocator"</code>).
|
||||||
|
*/
|
||||||
|
public static final String ID_DEFAULT_SOURCE_LOCATOR = LaunchUIPlugin.getUniqueIdentifier() + ".DefaultSourceLocator"; //$NON-NLS-1$
|
||||||
|
|
||||||
|
private CUISourceLocator fSourceLocator = null;
|
||||||
|
private final static int ERROR = 1000; // ????
|
||||||
|
|
||||||
|
/**
|
||||||
|
* Constructor for DefaultSourceLocator.
|
||||||
|
*/
|
||||||
|
public DefaultSourceLocator()
|
||||||
|
{
|
||||||
|
}
|
||||||
|
|
||||||
|
/* (non-Javadoc)
|
||||||
|
* @see org.eclipse.debug.core.model.IPersistableSourceLocator#getMemento()
|
||||||
|
*/
|
||||||
|
public String getMemento() throws CoreException
|
||||||
|
{
|
||||||
|
return null;
|
||||||
|
}
|
||||||
|
|
||||||
|
/* (non-Javadoc)
|
||||||
|
* @see org.eclipse.debug.core.model.IPersistableSourceLocator#initializeFromMemento(String)
|
||||||
|
*/
|
||||||
|
public void initializeFromMemento( String memento ) throws CoreException
|
||||||
|
{
|
||||||
|
}
|
||||||
|
|
||||||
|
/* (non-Javadoc)
|
||||||
|
* @see org.eclipse.debug.core.model.IPersistableSourceLocator#initializeDefaults(ILaunchConfiguration)
|
||||||
|
*/
|
||||||
|
public void initializeDefaults( ILaunchConfiguration configuration ) throws CoreException
|
||||||
|
{
|
||||||
|
fSourceLocator = new CUISourceLocator( getProject( configuration ) );
|
||||||
|
}
|
||||||
|
|
||||||
|
/* (non-Javadoc)
|
||||||
|
* @see org.eclipse.debug.core.model.ISourceLocator#getSourceElement(IStackFrame)
|
||||||
|
*/
|
||||||
|
public Object getSourceElement( IStackFrame stackFrame )
|
||||||
|
{
|
||||||
|
return ( fSourceLocator != null ) ? fSourceLocator.getSourceElement( stackFrame ) : null;
|
||||||
|
}
|
||||||
|
|
||||||
|
private IProject getProject( ILaunchConfiguration configuration ) throws CoreException
|
||||||
|
{
|
||||||
|
String projectName = configuration.getAttribute( ICDTLaunchConfigurationConstants.ATTR_PROJECT_NAME, (String)null );
|
||||||
|
if ( projectName != null )
|
||||||
|
{
|
||||||
|
IProject project = ResourcesPlugin.getWorkspace().getRoot().getProject( projectName );
|
||||||
|
if ( project.exists() )
|
||||||
|
{
|
||||||
|
return project;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
throw new CoreException( new Status( IStatus.ERROR,
|
||||||
|
LaunchUIPlugin.getUniqueIdentifier(),
|
||||||
|
ERROR,
|
||||||
|
MessageFormat.format( "Project \"{0}\" does not exist.", new String[] { projectName } ),
|
||||||
|
null ) );
|
||||||
|
}
|
||||||
|
|
||||||
|
/* (non-Javadoc)
|
||||||
|
* @see org.eclipse.core.runtime.IAdaptable#getAdapter(Class)
|
||||||
|
*/
|
||||||
|
public Object getAdapter( Class adapter )
|
||||||
|
{
|
||||||
|
if ( fSourceLocator != null )
|
||||||
|
{
|
||||||
|
if ( adapter.equals( ICSourceLocator.class ) )
|
||||||
|
{
|
||||||
|
return fSourceLocator.getAdapter( adapter );
|
||||||
|
}
|
||||||
|
if ( adapter.equals( ISourceMode.class ) )
|
||||||
|
{
|
||||||
|
return fSourceLocator.getAdapter( adapter );
|
||||||
|
}
|
||||||
|
}
|
||||||
|
return null;
|
||||||
|
}
|
||||||
|
}
|
|
@ -322,7 +322,7 @@ public class CEnvironmentTab extends CLaunchConfigurationTab {
|
||||||
|
|
||||||
protected void newEntry() {
|
protected void newEntry() {
|
||||||
EntryDialog dialog = new EntryDialog(new String(), new String(), false);
|
EntryDialog dialog = new EntryDialog(new String(), new String(), false);
|
||||||
if (dialog.open() == dialog.OK) {
|
if (dialog.open() == EntryDialog.OK) {
|
||||||
fElements.setProperty(dialog.getName(), dialog.getValue());
|
fElements.setProperty(dialog.getName(), dialog.getValue());
|
||||||
fVariableList.refresh();
|
fVariableList.refresh();
|
||||||
}
|
}
|
||||||
|
@ -336,7 +336,7 @@ public class CEnvironmentTab extends CLaunchConfigurationTab {
|
||||||
|
|
||||||
protected void doEdit(Map.Entry entry) {
|
protected void doEdit(Map.Entry entry) {
|
||||||
EntryDialog dialog = new EntryDialog(entry.getKey().toString(), entry.getValue().toString(), true);
|
EntryDialog dialog = new EntryDialog(entry.getKey().toString(), entry.getValue().toString(), true);
|
||||||
if (dialog.open() == dialog.OK) {
|
if (dialog.open() == EntryDialog.OK) {
|
||||||
fElements.remove(entry.getKey());
|
fElements.remove(entry.getKey());
|
||||||
fElements.setProperty(dialog.getName(), dialog.getValue());
|
fElements.setProperty(dialog.getName(), dialog.getValue());
|
||||||
fVariableList.refresh();
|
fVariableList.refresh();
|
||||||
|
|
|
@ -202,7 +202,7 @@ public class CMainTab extends CLaunchConfigurationTab {
|
||||||
dialog.setElements(executables);
|
dialog.setElements(executables);
|
||||||
dialog.setMessage("Choose a &program to run");
|
dialog.setMessage("Choose a &program to run");
|
||||||
dialog.setTitle("Program Selection");
|
dialog.setTitle("Program Selection");
|
||||||
if (dialog.open() == dialog.OK) {
|
if (dialog.open() == ElementListSelectionDialog.OK) {
|
||||||
IBinary binary = (IBinary) dialog.getFirstResult();
|
IBinary binary = (IBinary) dialog.getFirstResult();
|
||||||
try {
|
try {
|
||||||
fProgText.setText(binary.getResource().getProjectRelativePath().toString());
|
fProgText.setText(binary.getResource().getProjectRelativePath().toString());
|
||||||
|
@ -253,7 +253,7 @@ public class CMainTab extends CLaunchConfigurationTab {
|
||||||
if (cProject != null) {
|
if (cProject != null) {
|
||||||
dialog.setInitialSelections(new Object[] { cProject });
|
dialog.setInitialSelections(new Object[] { cProject });
|
||||||
}
|
}
|
||||||
if (dialog.open() == dialog.OK) {
|
if (dialog.open() == ElementListSelectionDialog.OK) {
|
||||||
return (ICProject) dialog.getFirstResult();
|
return (ICProject) dialog.getFirstResult();
|
||||||
}
|
}
|
||||||
return null;
|
return null;
|
||||||
|
|
Loading…
Add table
Reference in a new issue