From ca47896204482bf4a6979e3838bf7f09f61cebeb Mon Sep 17 00:00:00 2001
From: giy <giy@omp-system.ru>
Date: Fri, 02 Sep 2022 14:16:56 +0300
Subject: [PATCH] Обновление до версии 2.9.0
---
QtVsTools.Package/Package/QtMsBuildConverter.cs | 33 ++++++++++++++++++++++++++-------
1 files changed, 26 insertions(+), 7 deletions(-)
diff --git a/QtVsTools.Package/Package/QtMsBuildConverter.cs b/QtVsTools.Package/Package/QtMsBuildConverter.cs
index eac783f..79d484d 100644
--- a/QtVsTools.Package/Package/QtMsBuildConverter.cs
+++ b/QtVsTools.Package/Package/QtMsBuildConverter.cs
@@ -32,17 +32,21 @@
using System.Linq;
using System.Windows.Forms;
using Microsoft.VisualStudio;
+using Microsoft.VisualStudio.Shell;
using Microsoft.VisualStudio.Shell.Interop;
using Microsoft.VisualStudio.VCProjectEngine;
-using QtVsTools.Core;
-using QtVsTools.VisualStudio;
namespace QtVsTools
{
+ using Core;
+ using VisualStudio;
+
static class QtMsBuildConverter
{
public static bool SolutionToQtMsBuild()
{
+ ThreadHelper.ThrowIfNotOnUIThread();
+
var solution = QtVsToolsPackage.Instance.Dte.Solution;
if (solution == null)
return ErrorMessage(string.Format(SR.GetString("ErrorConvertingProject"), ""));
@@ -53,8 +57,8 @@
return WarningMessage(SR.GetString("NoProjectsToConvert"));
foreach (EnvDTE.Project project in allProjects) {
- if ((HelperFunctions.IsQtProject(project)
- || HelperFunctions.IsQMakeProject(project))
+ if ((HelperFunctions.IsVsToolsProject(project)
+ || HelperFunctions.IsQtProject(project))
&& !QtProject.IsQtMsBuildEnabled(project)) {
projects.Add(project);
}
@@ -68,7 +72,14 @@
MessageBoxButtons.YesNo) != DialogResult.Yes)
return WarningMessage(SR.GetString("CancelConvertingProject"));
- if (projects.Where(project => project.IsDirty).Any()) {
+ bool hasDirtyProjects = projects
+ .Where(project =>
+ {
+ ThreadHelper.ThrowIfNotOnUIThread();
+ return project.IsDirty;
+ })
+ .Any();
+ if (hasDirtyProjects) {
if (MessageBox.Show(
SR.GetString("ConvertSaveConfirmation"),
SR.GetString("ConvertTitle"),
@@ -76,7 +87,13 @@
return WarningMessage(SR.GetString("CancelConvertingProject"));
}
- var projectPaths = projects.Select(x => x.FullName).ToList();
+ var projectPaths = projects
+ .Select(x =>
+ {
+ ThreadHelper.ThrowIfNotOnUIThread();
+ return x.FullName;
+ })
+ .ToList();
string solutionPath = solution.FileName;
solution.Close(true);
@@ -142,6 +159,8 @@
public static bool ProjectToQtMsBuild(EnvDTE.Project project, bool askConfirmation = true)
{
+ ThreadHelper.ThrowIfNotOnUIThread();
+
if (project == null)
return ErrorMessage(string.Format(SR.GetString("ErrorConvertingProject"), ""));
var pathToProject = project.FullName;
@@ -178,7 +197,7 @@
try {
if (solution.UnloadProject(
ref projectGuid,
- (uint)_VSProjectUnloadStatus.UNLOADSTATUS_LoadPendingIfNeeded)
+ (uint)_VSProjectUnloadStatus.UNLOADSTATUS_UnloadedByUser)
!= VSConstants.S_OK)
return ErrorMessage(
string.Format(SR.GetString("ErrorConvertingProject"), projectName));
--
Gitblit v1.9.1