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

Bug #190045 : Cannot create a new configuration from a default configuration

This commit is contained in:
Oleg Krasilnikov 2007-05-31 10:29:56 +00:00
parent 086a2e9463
commit a7ab9a1f3e

View file

@ -15,6 +15,7 @@ import java.util.ArrayList;
import org.eclipse.cdt.core.settings.model.ICConfigurationDescription;
import org.eclipse.cdt.core.settings.model.ICProjectDescription;
import org.eclipse.cdt.core.settings.model.extension.CConfigurationData;
import org.eclipse.cdt.managedbuilder.core.IConfiguration;
import org.eclipse.cdt.managedbuilder.core.IManagedProject;
import org.eclipse.cdt.managedbuilder.core.IToolChain;
@ -24,6 +25,8 @@ import org.eclipse.cdt.managedbuilder.internal.core.ManagedProject;
import org.eclipse.cdt.ui.newui.INewCfgDialog;
import org.eclipse.cdt.ui.newui.UIMessages;
import org.eclipse.core.runtime.CoreException;
import org.eclipse.core.runtime.IStatus;
import org.eclipse.core.runtime.Status;
import org.eclipse.jface.dialogs.Dialog;
import org.eclipse.jface.dialogs.IDialogConstants;
import org.eclipse.jface.preference.JFacePreferences;
@ -437,15 +440,30 @@ public class NewCfgDialog implements INewCfgDialog {
if (imp == null || !(imp instanceof ManagedProject)) return;
ManagedProject mp = (ManagedProject) imp;
try {
ICConfigurationDescription base = ManagedBuildManager.getDescriptionForConfiguration(parentConfig);
ICConfigurationDescription cfgDes = null;
Configuration config = new Configuration(mp, (Configuration)parentConfig, id, false, true);
ICConfigurationDescription cfgDes = des.createConfiguration(id, newName, base);
config.setConfigurationDescription(cfgDes);
config.exportArtifactInfo();
config.setName(newName);
config.setDescription(newDescription);
if (config != null) {
if (b_clone.getSelection()) {
ICConfigurationDescription base = ManagedBuildManager.getDescriptionForConfiguration(parentConfig);
cfgDes = des.createConfiguration(id, newName, base);
} else {
CConfigurationData data = config.getConfigurationData();
cfgDes = des.createConfiguration(ManagedBuildManager.CFG_DATA_PROVIDER_ID, data);
}
if (cfgDes != null) {
config.setConfigurationDescription(cfgDes);
config.exportArtifactInfo();
config.setName(newName);
config.setDescription(newDescription);
}
}
if (config == null || cfgDes == null) {
throw new CoreException(new Status(IStatus.ERROR,
"org.eclipse.cdt.managedbuilder.ui", -1, //$NON-NLS-1$
UIMessages.getString("NewCfgDialog.2"), null)); //$NON-NLS-1$
}
} catch (CoreException e) {
System.out.println("Cannot create config\n"+ e.getLocalizedMessage()); //$NON-NLS-1$
ManagedBuilderUIPlugin.log(e);
}
}
}