diff --git a/DS4Windows/DS4Forms/DS4Form.cs b/DS4Windows/DS4Forms/DS4Form.cs index d76df50..4df11b7 100644 --- a/DS4Windows/DS4Forms/DS4Form.cs +++ b/DS4Windows/DS4Forms/DS4Form.cs @@ -652,6 +652,7 @@ namespace DS4Windows.Forms DS4LightBar.shuttingdown = false; wasrunning = false; Program.rootHub.suspending = false; + Thread.Sleep(8000); this.Invoke((System.Action)(() => BtnStartStop_Clicked())); } @@ -663,13 +664,17 @@ namespace DS4Windows.Forms { DS4LightBar.shuttingdown = true; Program.rootHub.suspending = true; - this.Invoke((System.Action)(() => BtnStartStop_Clicked())); - wasrunning = true; + changingService = true; - while (this.changingService) - { - Thread.SpinWait(500); - } + Program.rootHub.Stop(true); + + Invoke((System.Action)(() => { + ServiceShutdownFinish(); + btnStartStop.Enabled = false; + })); + changingService = false; + //this.Invoke((System.Action)(() => BtnStartStop_Clicked())); + wasrunning = true; } break;