diff --git a/DS4Windows/DS4Forms/DS4Form.cs b/DS4Windows/DS4Forms/DS4Form.cs index c5127f0..0b57bb0 100644 --- a/DS4Windows/DS4Forms/DS4Form.cs +++ b/DS4Windows/DS4Forms/DS4Form.cs @@ -665,6 +665,11 @@ namespace DS4Windows.Forms Program.rootHub.suspending = true; this.Invoke((System.Action)(() => BtnStartStop_Clicked())); wasrunning = true; + + while (this.changingService) + { + Thread.SpinWait(500); + } } break; @@ -927,12 +932,14 @@ namespace DS4Windows.Forms FileVersionInfo fvi = FileVersionInfo.GetVersionInfo(Assembly.GetExecutingAssembly().Location); string version = fvi.FileVersion; string newversion = File.ReadAllText(appdatapath + "\\version.txt").Trim(); + bool launchUpdate = false; if (!string.IsNullOrWhiteSpace(newversion) && version.Replace(',', '.').CompareTo(newversion) != 0) { if ((DialogResult)this.Invoke(new Func(() => { return MessageBox.Show(Properties.Resources.DownloadVersion.Replace("*number*", newversion), Properties.Resources.DS4Update, MessageBoxButtons.YesNo, MessageBoxIcon.Question); })) == DialogResult.Yes) { + launchUpdate = true; if (!File.Exists(exepath + "\\DS4Updater.exe") || (File.Exists(exepath + "\\DS4Updater.exe") && (FileVersionInfo.GetVersionInfo(exepath + "\\DS4Updater.exe").FileVersion.CompareTo(UPDATER_VERSION) != 0))) { @@ -941,21 +948,26 @@ Properties.Resources.DS4Update, MessageBoxButtons.YesNo, MessageBoxIcon.Question if (appdatapath == exepath) { wc2.DownloadFile(url2, exepath + "\\DS4Updater.exe"); - Process p = new Process(); - p.StartInfo.FileName = exepath + "\\DS4Updater.exe"; - p.StartInfo.Arguments = "-autolaunch"; - if (AdminNeeded()) - p.StartInfo.Verb = "runas"; - - try { p.Start(); Close(); } - catch { } } else { this.BeginInvoke((System.Action)(() => MessageBox.Show(Properties.Resources.PleaseDownloadUpdater))); Process.Start($"https://github.com/Ryochan7/DS4Updater/releases/download/v{UPDATER_VERSION}/{updaterExe}"); + launchUpdate = false; } } + + if (launchUpdate) + { + Process p = new Process(); + p.StartInfo.FileName = exepath + "\\DS4Updater.exe"; + p.StartInfo.Arguments = "-autolaunch"; + if (AdminNeeded()) + p.StartInfo.Verb = "runas"; + + try { p.Start(); Close(); } + catch { } + } } else File.Delete(appdatapath + "\\version.txt"); diff --git a/DS4Windows/Properties/AssemblyInfo.cs b/DS4Windows/Properties/AssemblyInfo.cs index 8cce04e..609191f 100644 --- a/DS4Windows/Properties/AssemblyInfo.cs +++ b/DS4Windows/Properties/AssemblyInfo.cs @@ -33,7 +33,7 @@ using System.Runtime.InteropServices; // You can specify all the values or you can default the Build and Revision Numbers // by using the '*' as shown below: // [assembly: AssemblyVersion("1.0.*")] -[assembly: AssemblyVersion("1.7.11")] -[assembly: AssemblyFileVersion("1.7.11")] +[assembly: AssemblyVersion("1.7.12")] +[assembly: AssemblyFileVersion("1.7.12")] [assembly: NeutralResourcesLanguage("en")] diff --git a/DS4Windows/newest.txt b/DS4Windows/newest.txt index 8f8b3f7..e6a68e9 100644 --- a/DS4Windows/newest.txt +++ b/DS4Windows/newest.txt @@ -1 +1 @@ -1.7.11 +1.7.12 diff --git a/TODO.md b/TODO.md index dda3a25..c9ae7f9 100644 --- a/TODO.md +++ b/TODO.md @@ -2,6 +2,7 @@ * Add cross dead zone (per axis) for sticks * Add more curve options +* Transition to use Visual Studio 2019 * ~~Re-evaluate HidGuardian~~ * ~~Move forms to new namespace~~ * ~~Finalize DS4 Emulation~~ diff --git a/contributors.txt b/contributors.txt index ebf5444..dbb77b6 100644 --- a/contributors.txt +++ b/contributors.txt @@ -4,6 +4,7 @@ Korney Czukowski (czukowski) DandelionSprout jdfeng justalemon +Kamilczak020 mika-n Rajko Stojadinovic (rajkosto) Sander0542