extras/StringsBox; ide/Environment Variables: Fixed memory issues/leaks
authorJerome St-Louis <jerome@ecere.com>
Mon, 15 Apr 2013 05:42:52 +0000 (01:42 -0400)
committerJerome St-Louis <jerome@ecere.com>
Mon, 15 Apr 2013 05:42:52 +0000 (01:42 -0400)
extras/gui/controls/StringsBox.ec
ide/src/dialogs/WorkspaceSettings.ec
ide/src/project/Workspace.ec

index 0d7fb04..657935c 100644 (file)
@@ -417,8 +417,8 @@ class NamedStringsBox : CommonControl
          return true;
       }
    };
-   DataField nameField { dataType = class(char *), editable = true, freeData = false, width = 120 };
-   DataField stringField { dataType = class(char *), editable = true, freeData = false };
+   DataField nameField { dataType = class(char *), editable = true, width = 120 };
+   DataField stringField { dataType = class(char *), editable = true };
    
    NamedStringsBox()
    {
index 792eb2d..df5e89b 100644 (file)
@@ -73,7 +73,11 @@ class WorkspaceTab : Tab
       if(commandLineArgs.modifiedDocument)
          ide.workspace.commandLineArgs = commandLineArgs.line.text;
       if(environmentVars.modifiedDocument)
+      {
+         ide.workspace.environmentVars.Free();
+         delete ide.workspace.environmentVars;
          ide.workspace.environmentVars = environmentVars.namedStrings;
+      }
       if(sourceDirs.modifiedDocument)
          ide.workspace.UpdateSourceDirsArray(sourceDirs.strings);
 
index 85f15de..a5ec699 100644 (file)
@@ -990,6 +990,7 @@ Workspace LoadWorkspace(char * filePath, char * fromProjectFile)
 
                      if(!strcmpi(buffer, "Environment Variables"))
                      {
+                        workspace.environmentVars.Free();
                         delete workspace.environmentVars;
                         workspace.environmentVars = { };
                      }