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.ICConfigurationDescription;
import org.eclipse.cdt.core.settings.model.ICProjectDescription; 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.IConfiguration;
import org.eclipse.cdt.managedbuilder.core.IManagedProject; import org.eclipse.cdt.managedbuilder.core.IManagedProject;
import org.eclipse.cdt.managedbuilder.core.IToolChain; 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.INewCfgDialog;
import org.eclipse.cdt.ui.newui.UIMessages; import org.eclipse.cdt.ui.newui.UIMessages;
import org.eclipse.core.runtime.CoreException; 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.Dialog;
import org.eclipse.jface.dialogs.IDialogConstants; import org.eclipse.jface.dialogs.IDialogConstants;
import org.eclipse.jface.preference.JFacePreferences; import org.eclipse.jface.preference.JFacePreferences;
@ -437,15 +440,30 @@ public class NewCfgDialog implements INewCfgDialog {
if (imp == null || !(imp instanceof ManagedProject)) return; if (imp == null || !(imp instanceof ManagedProject)) return;
ManagedProject mp = (ManagedProject) imp; ManagedProject mp = (ManagedProject) imp;
try { try {
ICConfigurationDescription base = ManagedBuildManager.getDescriptionForConfiguration(parentConfig); ICConfigurationDescription cfgDes = null;
Configuration config = new Configuration(mp, (Configuration)parentConfig, id, false, true); Configuration config = new Configuration(mp, (Configuration)parentConfig, id, false, true);
ICConfigurationDescription cfgDes = des.createConfiguration(id, newName, base); if (config != null) {
config.setConfigurationDescription(cfgDes); if (b_clone.getSelection()) {
config.exportArtifactInfo(); ICConfigurationDescription base = ManagedBuildManager.getDescriptionForConfiguration(parentConfig);
config.setName(newName); cfgDes = des.createConfiguration(id, newName, base);
config.setDescription(newDescription); } 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) { } catch (CoreException e) {
System.out.println("Cannot create config\n"+ e.getLocalizedMessage()); //$NON-NLS-1$ ManagedBuilderUIPlugin.log(e);
} }
} }
} }