Welcome to mirror list, hosted at ThFree Co, Russian Federation.

github.com/mono/monodevelop.git - Unnamed repository; edit this file 'description' to name the repository.
summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--main/src/core/MonoDevelop.Ide/MonoDevelop.Ide.Gui/DefaultWorkbench.cs4
-rw-r--r--main/src/core/MonoDevelop.Ide/MonoDevelop.Ide.TypeSystem/MonoDevelopWorkspace.MetadataReferenceHandler.cs10
-rw-r--r--main/tests/Ide.Tests/MonoDevelop.Ide/TypeSystemServiceTests.cs10
3 files changed, 21 insertions, 3 deletions
diff --git a/main/src/core/MonoDevelop.Ide/MonoDevelop.Ide.Gui/DefaultWorkbench.cs b/main/src/core/MonoDevelop.Ide/MonoDevelop.Ide.Gui/DefaultWorkbench.cs
index d547fa9259..9eda07b1a9 100644
--- a/main/src/core/MonoDevelop.Ide/MonoDevelop.Ide.Gui/DefaultWorkbench.cs
+++ b/main/src/core/MonoDevelop.Ide/MonoDevelop.Ide.Gui/DefaultWorkbench.cs
@@ -150,7 +150,9 @@ namespace MonoDevelop.Ide.Gui
public bool FullScreen {
get {
- return DesktopService.GetIsFullscreen (this);
+ if (Visible)
+ return DesktopService.GetIsFullscreen (this);
+ return fullScreenState ?? false;
}
set {
// If this window is not visible, don't set full screen mode
diff --git a/main/src/core/MonoDevelop.Ide/MonoDevelop.Ide.TypeSystem/MonoDevelopWorkspace.MetadataReferenceHandler.cs b/main/src/core/MonoDevelop.Ide/MonoDevelop.Ide.TypeSystem/MonoDevelopWorkspace.MetadataReferenceHandler.cs
index a310c17129..c7ef9d7d0b 100644
--- a/main/src/core/MonoDevelop.Ide/MonoDevelop.Ide.TypeSystem/MonoDevelopWorkspace.MetadataReferenceHandler.cs
+++ b/main/src/core/MonoDevelop.Ide/MonoDevelop.Ide.TypeSystem/MonoDevelopWorkspace.MetadataReferenceHandler.cs
@@ -109,8 +109,14 @@ namespace MonoDevelop.Ide.TypeSystem
try {
var referencedAssemblies = await data.Project.GetReferencedAssemblies (data.ConfigurationSelector, false).ConfigureAwait (false);
foreach (var file in referencedAssemblies) {
- if (file.IsProjectReference)
- continue;
+ if (file.IsProjectReference) {
+ var referencedItem = file.GetReferencedItem (data.Project.ParentSolution);
+ if (!(referencedItem is MonoDevelop.Projects.DotNetProject referencedProject))
+ continue;
+
+ if (!TypeSystemService.IsOutputTrackedProject (referencedProject))
+ continue;
+ }
if (data.Token.IsCancellationRequested)
return false;
diff --git a/main/tests/Ide.Tests/MonoDevelop.Ide/TypeSystemServiceTests.cs b/main/tests/Ide.Tests/MonoDevelop.Ide/TypeSystemServiceTests.cs
index dc65094cbf..b91c344b11 100644
--- a/main/tests/Ide.Tests/MonoDevelop.Ide/TypeSystemServiceTests.cs
+++ b/main/tests/Ide.Tests/MonoDevelop.Ide/TypeSystemServiceTests.cs
@@ -26,6 +26,7 @@
using System;
using NUnit.Framework;
+using NUnit.Framework.Constraints;
using System.Collections.Generic;
using UnitTests;
using Mono.Addins;
@@ -94,8 +95,17 @@ namespace MonoDevelop.Ide
{
string solFile = Util.GetSampleProject("csharp-app-fsharp-lib", "csappfslib.sln");
using (Solution sol = (Solution)await Services.ProjectService.ReadWorkspaceItem (Util.GetMonitor (), solFile)) {
+ var csharpApp = sol.Items.FirstOrDefault (pr => pr.Name == "csappfslib") as DotNetProject;
var fsharpLibrary = sol.Items.FirstOrDefault (pr => pr.Name == "fslib") as DotNetProject;
Assert.IsTrue (TypeSystemService.IsOutputTrackedProject (fsharpLibrary));
+
+ using (var workspace = await TypeSystemServiceTestExtensions.LoadSolution (sol)) {
+ var projectId = workspace.GetProjectId (csharpApp);
+
+ var analysisProject = workspace.CurrentSolution.GetProject (projectId);
+ var refs = analysisProject.MetadataReferences.Select (r => new FilePath(r.Display).FileName);
+ Assert.That (refs, Contains.Item ("fslib.dll"));
+ }
}
}