if(result == fileNotFound || !data)
{
CompilerConfig defaultCompiler = MakeDefaultCompiler(defaultCompilerName, true);
+ // We incref the compilers below, so reset refCount to 0
+ defaultCompiler._refCount = 0;
data = (IDESettings)this.data;
- data.compilerConfigs = { };
+
data.compilerConfigs.Add(defaultCompiler);
data.useFreeCaret = true;
data.showLineNumbers = true;
delete makeCommand;
delete execPrefixCommand;
delete distccHosts;
- if(includeDirs) { includeDirs.Free(); delete includeDirs; }
- if(libraryDirs) { libraryDirs.Free(); delete libraryDirs; }
- if(executableDirs) { executableDirs.Free(); delete executableDirs; }
+ if(environmentVars) environmentVars.Free();
+ if(includeDirs) { includeDirs.Free(); }
+ if(libraryDirs) { libraryDirs.Free(); }
+ if(executableDirs) { executableDirs.Free(); }
}
CompilerConfig Copy()
{
for(s : includeDirs) copy.includeDirs.Add(CopyString(s));
for(s : libraryDirs) copy.libraryDirs.Add(CopyString(s));
for(s : executableDirs) copy.executableDirs.Add(CopyString(s));
- for(ns : environmentVars) copy.environmentVars.Add(NamedString { name = CopyString(ns.name), string = CopyString(ns.string) });
+ for(ns : environmentVars) copy.environmentVars.Add(NamedString { name = ns.name, string = ns.string });
incref copy;
return copy;
{
int temp;
int len,c, count;
+ String targetFileName, targetDirectory, objectsDirectory;
// { executable = 0, sharedLibrary = 1, staticLibrary = 2 };
f.Read(&temp, sizeof(int),1);
}
f.Read(&len, sizeof(int),1);
- project.options.targetFileName = new char[len+1];
- f.Read(project.options.targetFileName, sizeof(char), len+1);
+ targetFileName = new char[len+1];
+ f.Read(targetFileName, sizeof(char), len+1);
+ project.options.targetFileName = targetFileName;
+ delete targetFileName;
f.Read(&len, sizeof(int),1);
- delete project.options.targetDirectory;
- project.options.targetDirectory = new char[len+1];
- f.Read(project.options.targetDirectory, sizeof(char), len+1);
+ targetDirectory = new char[len+1];
+ f.Read(targetDirectory, sizeof(char), len+1);
+ project.options.targetDirectory = targetDirectory;
+ delete targetDirectory;
f.Read(&len, sizeof(int),1);
- delete project.options.objectsDirectory;
- project.options.objectsDirectory = new byte[len+1];
- f.Read(project.options.objectsDirectory, sizeof(char), len+1);
+ objectsDirectory = new byte[len+1];
+ f.Read(objectsDirectory, sizeof(char), len+1);
+ project.options.objectsDirectory = objectsDirectory;
+ delete objectsDirectory;
f.Read(&temp, sizeof(int),1);
project./*config.*/options.debug = temp ? true : false;
equal++;
TrimLSpaces(equal, equal);
if(!strcmpi(buffer, "Target Name"))
- options.targetFileName = CopyString(equal);
+ options.targetFileName = /*CopyString(*/equal/*)*/;
else if(!strcmpi(buffer, "Target Type"))
{
if(!strcmpi(equal, "Executable"))
options.targetType = executable;
}
else if(!strcmpi(buffer, "Target Directory"))
- options.targetDirectory = CopyString(equal);
+ options.targetDirectory = /*CopyString(*/equal/*)*/;
else if(!strcmpi(buffer, "Console"))
options.console = ParseTrueFalseValue(equal);
else if(!strcmpi(buffer, "Libraries"))
ParseArrayValue(options.libraries, equal);
}
else if(!strcmpi(buffer, "Intermediate Directory"))
- options.objectsDirectory = CopyString(equal); //objDir.expression = equal;
+ options.objectsDirectory = /*CopyString(*/equal/*)*/; //objDir.expression = equal;
else if(!strcmpi(buffer, "Debug"))
options.debug = ParseTrueFalseValue(equal);
else if(!strcmpi(buffer, "Optimize"))
}
}
if(!options.targetDirectory && options.objectsDirectory)
- options.targetDirectory = CopyString(options.objectsDirectory);
+ options.targetDirectory = /*CopyString(*/options.objectsDirectory/*)*/;
//if(!objDir.dir) objDir.dir = "obj";
//if(!targetDir.dir) targetDir.dir = "";
// if(!targetName) property::targetName = ""; // How can a targetFileName be nothing???
// Config Settings
else if(!strcmpi(buffer, "Intermediate Directory"))
- project.config.options.objectsDirectory = CopyString(equal); //objDir.expression = equal;
+ project.config.options.objectsDirectory = /*CopyString(*/equal/*)*/; //objDir.expression = equal;
else if(!strcmpi(buffer, "Debug"))
project.config.options.debug = ParseTrueFalseValue(equal);
else if(!strcmpi(buffer, "Optimize"))
// Project Wide Settings (All configs)
if(!strcmpi(buffer, "Target Name"))
- project.options.targetFileName = CopyString(equal);
+ project.options.targetFileName = /*CopyString(*/equal/*)*/;
else if(!strcmpi(buffer, "Target Type"))
{
if(!strcmpi(equal, "Executable"))
project.options.targetType = executable;
}
else if(!strcmpi(buffer, "Target Directory"))
- project.options.targetDirectory = CopyString(equal);
+ project.options.targetDirectory = /*CopyString(*/equal/*)*/;
else if(!strcmpi(buffer, "Console"))
project.options.console = ParseTrueFalseValue(equal);
else if(!strcmpi(buffer, "Libraries"))
(!project.options || !project.options.targetFileName || !project.options.targetFileName[0]) &&
(!project.config.options.targetFileName || !project.config.options.targetFileName[0]))
{
- delete project.config.options.targetFileName;
+ //delete project.config.options.targetFileName;
- project.options.targetFileName = CopyString(project.moduleName);
+ project.options.targetFileName = /*CopyString(*/project.moduleName/*)*/;
project.config.options.optimization = none;
project.config.options.debug = true;
//project.config.options.warnings = unset;