diff --git a/src/modules/MouseWithoutBorders/App/Class/Common.Clipboard.cs b/src/modules/MouseWithoutBorders/App/Class/Common.Clipboard.cs index 7654b0452d..3f5ace6900 100644 --- a/src/modules/MouseWithoutBorders/App/Class/Common.Clipboard.cs +++ b/src/modules/MouseWithoutBorders/App/Class/Common.Clipboard.cs @@ -262,6 +262,10 @@ namespace MouseWithoutBorders new Task(() => { + // SuppressFlow fixes an issue on service mode, where the helper process can't get enough permissions to be started again. + // More details can be found on: https://github.com/microsoft/PowerToys/pull/36892 + using var asyncFlowControl = ExecutionContext.SuppressFlow(); + System.Threading.Thread thread = Thread.CurrentThread; thread.Name = $"{nameof(SendClipboardDataUsingTCP)}.{thread.ManagedThreadId}"; Thread.UpdateThreads(thread); @@ -386,6 +390,10 @@ namespace MouseWithoutBorders new Task(() => { + // SuppressFlow fixes an issue on service mode, where the helper process can't get enough permissions to be started again. + // More details can be found on: https://github.com/microsoft/PowerToys/pull/36892 + using var asyncFlowControl = ExecutionContext.SuppressFlow(); + System.Threading.Thread thread = Thread.CurrentThread; thread.Name = $"{nameof(ConnectAndGetData)}.{thread.ManagedThreadId}"; Thread.UpdateThreads(thread); diff --git a/src/modules/MouseWithoutBorders/App/Class/Common.Helper.cs b/src/modules/MouseWithoutBorders/App/Class/Common.Helper.cs index ccbec57508..a27df9a073 100644 --- a/src/modules/MouseWithoutBorders/App/Class/Common.Helper.cs +++ b/src/modules/MouseWithoutBorders/App/Class/Common.Helper.cs @@ -72,6 +72,10 @@ namespace MouseWithoutBorders private static void HelperThread() { + // SuppressFlow fixes an issue on service mode, where the helper process can't get enough permissions to be started again. + // More details can be found on: https://github.com/microsoft/PowerToys/pull/36892 + using var asyncFlowControl = System.Threading.ExecutionContext.SuppressFlow(); + try { while (true) diff --git a/src/modules/MouseWithoutBorders/App/Class/Program.cs b/src/modules/MouseWithoutBorders/App/Class/Program.cs index 011b1cfdc9..3e3795f6ef 100644 --- a/src/modules/MouseWithoutBorders/App/Class/Program.cs +++ b/src/modules/MouseWithoutBorders/App/Class/Program.cs @@ -379,6 +379,10 @@ namespace MouseWithoutBorders.Class private static void InputCallbackThread() { + // SuppressFlow fixes an issue on service mode, where the helper process can't get enough permissions to be started again. + // More details can be found on: https://github.com/microsoft/PowerToys/pull/36892 + using var asyncFlowControl = ExecutionContext.SuppressFlow(); + Common.InputCallbackThreadID = Thread.CurrentThread.ManagedThreadId; while (!Common.InitDone) { diff --git a/src/modules/MouseWithoutBorders/App/Class/SocketStuff.cs b/src/modules/MouseWithoutBorders/App/Class/SocketStuff.cs index 31b047a837..d7ff395ce9 100644 --- a/src/modules/MouseWithoutBorders/App/Class/SocketStuff.cs +++ b/src/modules/MouseWithoutBorders/App/Class/SocketStuff.cs @@ -681,6 +681,10 @@ namespace MouseWithoutBorders.Class private void TCPServerThread(object param) { + // SuppressFlow fixes an issue on service mode, where the helper process can't get enough permissions to be started again. + // More details can be found on: https://github.com/microsoft/PowerToys/pull/36892 + using var asyncFlowControl = ExecutionContext.SuppressFlow(); + try { TcpListener server = param as TcpListener; @@ -768,6 +772,10 @@ namespace MouseWithoutBorders.Class { void ServerThread() { + // SuppressFlow fixes an issue on service mode, where the helper process can't get enough permissions to be started again. + // More details can be found on: https://github.com/microsoft/PowerToys/pull/36892 + using var asyncFlowControl = ExecutionContext.SuppressFlow(); + try { // Receiving packages @@ -876,6 +884,10 @@ namespace MouseWithoutBorders.Class { void ClientThread(object obj) { + // SuppressFlow fixes an issue on service mode, where the helper process can't get enough permissions to be started again. + // More details can be found on: https://github.com/microsoft/PowerToys/pull/36892 + using var asyncFlowControl = ExecutionContext.SuppressFlow(); + IPHostEntry host; bool useName2IP = false; List validAddresses = new(); @@ -1117,6 +1129,10 @@ namespace MouseWithoutBorders.Class { void NewTcpClient() { + // SuppressFlow fixes an issue on service mode, where the helper process can't get enough permissions to be started again. + // More details can be found on: https://github.com/microsoft/PowerToys/pull/36892 + using var asyncFlowControl = ExecutionContext.SuppressFlow(); + TcpClient tcpClient = null; try @@ -1549,6 +1565,10 @@ namespace MouseWithoutBorders.Class private static void AcceptConnectionAndSendClipboardData(object param) { + // SuppressFlow fixes an issue on service mode, where the helper process can't get enough permissions to be started again. + // More details can be found on: https://github.com/microsoft/PowerToys/pull/36892 + using var asyncFlowControl = ExecutionContext.SuppressFlow(); + TcpListener server = param as TcpListener; do @@ -1590,6 +1610,10 @@ namespace MouseWithoutBorders.Class { new Task(() => { + // SuppressFlow fixes an issue on service mode, where the helper process can't get enough permissions to be started again. + // More details can be found on: https://github.com/microsoft/PowerToys/pull/36892 + using var asyncFlowControl = ExecutionContext.SuppressFlow(); + System.Threading.Thread thread = Thread.CurrentThread; thread.Name = $"{nameof(SendOrReceiveClipboardData)}.{thread.ManagedThreadId}"; Thread.UpdateThreads(thread);