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.
(cherry picked from commit
8bf5c1b31f1a1449d694e3604e293b0831eb2657)
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("");
}