From 552b2b1315b45286b063e99510d6d6cb1b6f7575 Mon Sep 17 00:00:00 2001 From: Mark Jansen Date: Sat, 1 Apr 2017 09:32:35 +0200 Subject: [PATCH] thememan: Check for portable-mode file in the application directory. Fixes #1902 --- src/htm/Main.cs | 18 ++++++++++++++++-- 1 file changed, 16 insertions(+), 2 deletions(-) diff --git a/src/htm/Main.cs b/src/htm/Main.cs index 884b23f8..aecfa1ce 100644 --- a/src/htm/Main.cs +++ b/src/htm/Main.cs @@ -42,13 +42,27 @@ namespace thememan OpenFileDialog importDialog; + static bool IsPortable(out string directory) + { + System.Reflection.Assembly asm = System.Reflection.Assembly.GetExecutingAssembly(); + directory = asm != null ? asm.Location : string.Empty; + if (string.IsNullOrEmpty(directory)) + { + directory = string.Empty; + return File.Exists("portable-mode"); + } + directory = Path.GetDirectoryName(directory); + return File.Exists(Path.Combine(directory, "portable-mode")); + } + public HTM () { InitializeComponent (); + string portableDir; - if (RunningOnWindows() && File.Exists("portable-mode")) + if (RunningOnWindows() && IsPortable(out portableDir)) { - hexchatdir = ("config\\"); + hexchatdir = Path.Combine(portableDir, "config\\"); if (!Directory.Exists(hexchatdir)) {