From 8bf5c1b31f1a1449d694e3604e293b0831eb2657 Mon Sep 17 00:00:00 2001 From: Simon Tatham Date: Thu, 6 Aug 2015 19:25:56 +0100 Subject: [PATCH] Work around a failure in Windows 10 jump lists. We've had several reports that launching saved sessions from the Windows 10 jump list fails; Changyu Li reports that this is because we create those IShellLink objects with a command line string starting with @, and in Windows 10 that causes the SetArguments method to silently do the wrong thing. --- windows/winjump.c | 6 +++++- 1 file changed, 5 insertions(+), 1 deletion(-) diff --git a/windows/winjump.c b/windows/winjump.c index f674133b..eca5041a 100644 --- a/windows/winjump.c +++ b/windows/winjump.c @@ -429,7 +429,11 @@ static IShellLink *make_shell_link(const char *appname, ret->lpVtbl->SetPath(ret, app_path); if (sessionname) { - param_string = dupcat("@", sessionname, NULL); + /* The leading space is reported to work around a Windows 10 + * behaviour change in which an argument string starting with + * '@' causes the SetArguments method to silently do the wrong + * thing. */ + param_string = dupcat(" @", sessionname, NULL); } else { param_string = dupstr(""); }