From 34ccfd89307793483f48af3f13cd4d62dd1846f4 Mon Sep 17 00:00:00 2001 From: Nikita Tsukanov Date: Thu, 3 Sep 2015 01:47:37 +0300 Subject: [PATCH] Designer: Monopolize stdout/stderr --- src/Windows/Perspex.Designer/Program.cs | 15 +++++++++++++++ 1 file changed, 15 insertions(+) diff --git a/src/Windows/Perspex.Designer/Program.cs b/src/Windows/Perspex.Designer/Program.cs index 3a4191f6f7..4e86f6f292 100644 --- a/src/Windows/Perspex.Designer/Program.cs +++ b/src/Windows/Perspex.Designer/Program.cs @@ -1,6 +1,7 @@ using System; using System.Collections.Generic; using System.Diagnostics; +using System.IO; using System.Linq; using System.Text; using System.Threading; @@ -30,12 +31,26 @@ namespace Perspex.Designer //Initialize sync context SynchronizationContext.SetSynchronizationContext(new WindowsFormsSynchronizationContext()); var comm = new CommChannel(Console.OpenStandardInput(), Console.OpenStandardOutput()); + Console.SetOut(new NullTextWriter()); + Console.SetError(new NullTextWriter()); comm.Disposed += () => Process.GetCurrentProcess().Kill(); var service = new PerspexAppHost(comm); service.Start(); Application.Run(); } + class NullTextWriter : TextWriter + { + public override Encoding Encoding => Encoding.UTF8; + public override void Write(char[] buffer, int index, int count) + { + } + + public override void Write(char value) + { + } + } + private static void DemoMain(string[] args) { SynchronizationContext.SetSynchronizationContext(new DispatcherSynchronizationContext());