diff --git a/MinecraftClient/ConsoleIcon.cs b/MinecraftClient/ConsoleIcon.cs index f1c0e675..2ef20783 100644 --- a/MinecraftClient/ConsoleIcon.cs +++ b/MinecraftClient/ConsoleIcon.cs @@ -27,12 +27,11 @@ namespace MinecraftClient public static void setPlayerIconAsync(string playerName) { - Thread t = new Thread(new ThreadStart(delegate + if (!Program.isUsingMono) //Windows Only { - if (!Program.isUsingMono) //Windows Only + Thread t = new Thread(new ThreadStart(delegate { HttpWebRequest httpWebRequest = (HttpWebRequest)HttpWebRequest.Create("http://skins.minecraft.net/MinecraftSkins/" + playerName + ".png"); - try { using (HttpWebResponse httpWebReponse = (HttpWebResponse)httpWebRequest.GetResponse()) @@ -44,13 +43,33 @@ namespace MinecraftClient } catch (WebException) //Skin not found? Reset to default icon { - SetConsoleIcon(Icon.ExtractAssociatedIcon(Application.ExecutablePath).Handle); + try + { + SetConsoleIcon(Icon.ExtractAssociatedIcon(Application.ExecutablePath).Handle); + } + catch { } } } + )); + t.Name = "Player skin icon setter"; + t.Start(); + } + } + + /// + /// Set the icon back to the default CMD icon + /// + + public static void revertToCMDIcon() + { + if (!Program.isUsingMono) //Windows Only + { + try + { + SetConsoleIcon(Icon.ExtractAssociatedIcon(Environment.SystemDirectory + "\\cmd.exe").Handle); + } + catch { } } - )); - t.Name = "Player skin icon setter"; - t.Start(); } } } diff --git a/MinecraftClient/Program.cs b/MinecraftClient/Program.cs index 2971d9bd..1a13b265 100644 --- a/MinecraftClient/Program.cs +++ b/MinecraftClient/Program.cs @@ -289,6 +289,7 @@ namespace MinecraftClient private static void t_exit() { if (Client != null) { Client.Disconnect(); ConsoleIO.Reset(); } + if (Settings.playerHeadAsIcon) { ConsoleIcon.revertToCMDIcon(); } Environment.Exit(0); }