Ver código fonte

Fix console crash on older Monos because Console.OutputEncoding returns null

ghorsington 4 anos atrás
pai
commit
1831a19627

+ 2 - 0
BepInEx/Console/Windows/ConsoleEncoding/ConsoleEncoding.cs

@@ -20,6 +20,8 @@ namespace UnityInjector.ConsoleUtil
 		private readonly uint _codePage;
 		public override int CodePage => (int)_codePage;
 
+		public static Encoding OutputEncoding => new ConsoleEncoding(ConsoleCodePage);
+
 		public static uint ConsoleCodePage
 		{
 			get { return GetConsoleOutputCP(); }

+ 2 - 1
BepInEx/Console/Windows/WindowsConsoleDriver.cs

@@ -38,7 +38,8 @@ namespace BepInEx
 			};
 
 			var consoleOutStream = new FileStream(ConsoleWindow.ConsoleOutHandle, FileAccess.Write);
-			ConsoleOut = new StreamWriter(consoleOutStream, Console.OutputEncoding)
+			// Can't use Console.OutputEncoding because it can be null on older Monos
+			ConsoleOut = new StreamWriter(consoleOutStream, ConsoleEncoding.OutputEncoding)
 			{
 				AutoFlush = true
 			};