From 2b574916cc784a4b0f1faf4becbcf70edb973405 Mon Sep 17 00:00:00 2001 From: Brian Fiete Date: Fri, 5 Jun 2020 14:17:06 -0700 Subject: [PATCH] Fix for removing project --- IDE/src/Compiler/BfCompiler.bf | 3 --- IDE/src/Project.bf | 8 ++++++++ IDE/src/ui/ProjectPanel.bf | 1 + 3 files changed, 9 insertions(+), 3 deletions(-) diff --git a/IDE/src/Compiler/BfCompiler.bf b/IDE/src/Compiler/BfCompiler.bf index 35b7759e..845a1e55 100644 --- a/IDE/src/Compiler/BfCompiler.bf +++ b/IDE/src/Compiler/BfCompiler.bf @@ -390,7 +390,6 @@ namespace IDE.Compiler if (projectSource.mIncludeKind != .Ignore) { BfProject bfProject = null; - using (projectSource.mProject.mMonitor.Enter()) { projectSourceCommand.mProjectSource.GetFullImportPath(sourceFilePath); @@ -454,10 +453,8 @@ namespace IDE.Compiler if (hash case .MD5(let md5Hash)) bfParser.SetHashMD5(md5Hash); - //passInstance.SetProject(bfProject); worked &= bfParser.Parse(passInstance, false); worked &= bfParser.Reduce(passInstance); - //passInstance.SetProject(bfProject); worked &= bfParser.BuildDefs(passInstance, null, false); passKind = .Parse; diff --git a/IDE/src/Project.bf b/IDE/src/Project.bf index 28ea2c1e..a1e6fc2c 100644 --- a/IDE/src/Project.bf +++ b/IDE/src/Project.bf @@ -447,6 +447,14 @@ namespace IDE StopWatching(); } + public override void Dispose() + { + for (var item in mChildItems) + { + item.Dispose(); + } + } + public void GetRelDir(String path) { if (mPath != null) diff --git a/IDE/src/ui/ProjectPanel.bf b/IDE/src/ui/ProjectPanel.bf index 0954db07..0a59b2d0 100644 --- a/IDE/src/ui/ProjectPanel.bf +++ b/IDE/src/ui/ProjectPanel.bf @@ -1234,6 +1234,7 @@ namespace IDE.ui } }); + project.mRootFolder.Dispose(); RemoveProject(project); return; }