diff --git a/IDE/src/Compiler/BfCompiler.bf b/IDE/src/Compiler/BfCompiler.bf index 5979a351..a5576f34 100644 --- a/IDE/src/Compiler/BfCompiler.bf +++ b/IDE/src/Compiler/BfCompiler.bf @@ -366,7 +366,9 @@ namespace IDE.Compiler if (command is SetupProjectSettingsCommand) { - var setupProjectSettingsCommand = (SetupProjectSettingsCommand)command; + var setupProjectSettingsCommand = (SetupProjectSettingsCommand)command; + if (setupProjectSettingsCommand.mProject.mDeleted) + continue; gApp.SetupBeefProjectSettings(mBfSystem, this, setupProjectSettingsCommand.mProject); } @@ -381,6 +383,8 @@ namespace IDE.Compiler ProjectSourceCommandBlock: { var projectSourceCommand = (ProjectSourceCommand)command; + if (projectSourceCommand.mProjectSource.mProject.mDeleted) + continue; bool worked = true; String sourceFilePath = scope String(); var projectSource = projectSourceCommand.mProjectSource; diff --git a/IDE/src/Project.bf b/IDE/src/Project.bf index fb6142b6..45d1aa74 100644 --- a/IDE/src/Project.bf +++ b/IDE/src/Project.bf @@ -1257,6 +1257,7 @@ namespace IDE public bool mEnabled = true; public bool mLocked; public bool mLockedDefault; + public bool mDeleted; public int32 [] mColorDialogCustomColors; diff --git a/IDE/src/Workspace.bf b/IDE/src/Workspace.bf index a2ebf494..9fddd87f 100644 --- a/IDE/src/Workspace.bf +++ b/IDE/src/Workspace.bf @@ -386,6 +386,7 @@ namespace IDE public List mProjectSpecs = new .() ~ DeleteContainerAndItems!(_); public Dictionary mProjectNameMap = new .() ~ DeleteDictionaryAndKeys!(_); public Project mStartupProject; + public bool mLoading; public bool mNeedsCreate; public bool mHasChanged; public bool mHadHotCompileSinceLastFullCompile; diff --git a/IDE/src/ui/ProjectPanel.bf b/IDE/src/ui/ProjectPanel.bf index 1873dde9..a8de03b0 100644 --- a/IDE/src/ui/ProjectPanel.bf +++ b/IDE/src/ui/ProjectPanel.bf @@ -1854,7 +1854,7 @@ namespace IDE.ui return null; } - bool failed = false; + bool failed = false; String projName = scope String(); Path.GetFileNameWithoutExtension(filePath, projName); if (gApp.mWorkspace.FindProject(projName) != null) @@ -1871,8 +1871,9 @@ namespace IDE.ui IDEUtils.FixFilePath(projFilePath); proj.mProjectPath.Set(projFilePath); proj.Load(projFilePath); - IDEApp.sApp.AddNewProjectToWorkspace(proj, verSpec); - IDEApp.sApp.mWorkspace.FixOptions(); + gApp.AddNewProjectToWorkspace(proj, verSpec); + gApp.mWorkspace.FixOptions(); + gApp.[Friend]FlushDeferredLoadProjects(true); InitProject(proj); if (failed) {