diff --git a/src/dlangide/workspace/workspace.d b/src/dlangide/workspace/workspace.d index ee555ca..1d9792f 100644 --- a/src/dlangide/workspace/workspace.d +++ b/src/dlangide/workspace/workspace.d @@ -277,6 +277,7 @@ class Workspace : WorkspaceItem { Log.e("empty workspace name"); return false; } + auto originalStartupProjectName = _settings.startupProjectName; Setting projects = _workspaceFile.objectByPath("projects", true); foreach(string key, Setting value; projects) { string path = value.str; @@ -287,6 +288,7 @@ class Workspace : WorkspaceItem { _projects ~= project; project.load(); } + _settings.startupProjectName = originalStartupProjectName; fillStartupProject(); return true; } diff --git a/src/dlangide/workspace/workspacesettings.d b/src/dlangide/workspace/workspacesettings.d index cba892d..e6472d8 100644 --- a/src/dlangide/workspace/workspacesettings.d +++ b/src/dlangide/workspace/workspacesettings.d @@ -22,8 +22,9 @@ class WorkspaceSettings : SettingsFile { return _startupProjectName; } @property void startupProjectName(string s) { - if (s.equal(_startupProjectName)) { + if (!s.equal(_startupProjectName)) { _startupProjectName = s; + _setting["startupProject"] = s; save(); } }