You can not select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
 
 

58 lines
1.9 KiB

diff -ruN a/main.pas b/main.pas
--- a/main.pas 2014-01-04 03:51:46.000000000 -0700
+++ b/main.pas 2014-04-09 04:02:16.811032289 -0600
@@ -1005,10 +1005,9 @@
// Restart the app with the LIBOVERLAY_SCROLLBAR=0 env var.
proc:=TProcess.Create(nil);
try
- s:='';
- for i:=0 to ParamCount do
- s:=s + '"' + ParamStrUTF8(i) + '" ';
- proc.CommandLine:=s;
+ proc.Executable:=ParamStrUTF8(0);
+ for i:=1 to ParamCount do
+ proc.Parameters.Add(ParamStrUTF8(i));
for i:=0 to GetEnvironmentVariableCount - 1 do
proc.Environment.Add(GetEnvironmentString(i));
proc.Environment.Values['LIBOVERLAY_SCROLLBAR']:='0';
diff -ruN a/utils.pas b/utils.pas
--- a/utils.pas 2014-01-04 03:51:46.000000000 -0700
+++ b/utils.pas 2014-04-09 04:05:21.552036348 -0600
@@ -398,18 +398,21 @@
cmd, fn: String;
begin
Result:=-1;
+ WrkProcess:=TProcess.Create(nil);
+ WrkProcess.Options:=[poNoConsole,poWaitOnExit];
+
cmd:=FindDefaultExecutablePath('xdg-open');
if cmd = '' then begin
cmd:=FindDefaultExecutablePath('gnome-open');
if cmd = '' then begin
cmd:=FindDefaultExecutablePath('kioclient');
if cmd <> '' then
- cmd:=cmd + ' exec'
+ Wrkprocess.Parameters.Add('exec')
else begin
cmd:=FindDefaultExecutablePath('kfmclient');
if cmd = '' then
exit;
- cmd:=cmd + ' exec';
+ Wrkprocess.Parameters.Add('exec')
end;
end;
end;
@@ -417,11 +420,10 @@
fn:=FileName;
if Pos('://', fn) > 0 then
fn:=StringReplace(fn, '#', '%23', [rfReplaceAll]);
+ Wrkprocess.Parameters.Add(fn);
+ WrkProcess.Executable:=cmd;
- WrkProcess:=TProcess.Create(nil);
try
- WrkProcess.Options:=[poNoConsole];
- WrkProcess.CommandLine:=cmd + ' "' + fn + '"';
WrkProcess.Execute;
Result:=WrkProcess.ExitStatus;
finally