From 8293053cef504165552db3e15239d486c01a9df3 Mon Sep 17 00:00:00 2001
From: 00schneider <Cedric.Schneider@pmbs.de>
Date: Mon, 1 Feb 2016 15:31:38 +0100
Subject: [PATCH] Fix saving/loading startup project of workspace

---
 src/dlangide/workspace/workspace.d         | 2 ++
 src/dlangide/workspace/workspacesettings.d | 3 ++-
 2 files changed, 4 insertions(+), 1 deletion(-)

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();
         }
     }