MFH: r565005

x11-fm/doublecmd: multiple instances fix

 * Fix fatal error when multiple instances of the app are executed

PR:	253432
Submitted by:	bbtruk@users.sourceforge.net (maintainer)
This commit is contained in:
Fernando Apesteguía 2021-02-12 11:05:35 +00:00
parent d514664edd
commit ca38baf9a9
Notes: svn2git 2021-03-31 03:12:20 +00:00
svn path=/branches/2021Q1/; revision=565006
2 changed files with 45 additions and 0 deletions

View File

@ -3,6 +3,7 @@
PORTNAME= doublecmd
PORTVERSION= 0.9.10
PORTREVISION= 3
CATEGORIES= x11-fm
MASTER_SITES= SF/${PORTNAME}/Double%20Commander%20Source
PKGNAMESUFFIX= ${LAZARUS_PKGNAMESUFFIX}

View File

@ -0,0 +1,44 @@
--- src/platform/unix/upipeserver.pas.orig 2020-12-31 11:38:58 UTC
+++ src/platform/unix/upipeserver.pas
@@ -30,9 +30,13 @@ function GetPipeFileName(const FileName: String; Globa
implementation
+{$IF DEFINED(LINUX) OR DEFINED(FREEBSD)}
+ {$DEFINE USE_XDG}
+{$ENDIF}
+
uses
SimpleIPC, BaseUnix, uPollThread
-{$IF DEFINED(LINUX)}
+{$IF DEFINED(USE_XDG)}
, uXdg
{$ENDIF}
;
@@ -65,7 +69,7 @@ Type
function GetPipeFileName(const FileName: String; Global : Boolean): String;
begin
-{$IF DEFINED(LINUX)}
+{$IF DEFINED(USE_XDG)}
Result:= IncludeTrailingBackslash(GetUserRuntimeDir) + FileName;
{$ELSE}
Result:= GetTempDir(Global) + ApplicationName + '-' + IntToStr(fpGetUID) + PathDelim + FileName;
@@ -89,7 +93,7 @@ begin
end;
constructor TPipeServerComm.Create(AOWner: TSimpleIPCServer);
-{$IF NOT DEFINED(LINUX)}
+{$IF NOT DEFINED(USE_XDG)}
var
Info: TStat;
Directory: String;
@@ -101,7 +105,7 @@ begin
FFileName:= FFileName + '-' + IntToStr(fpGetPID);
if FFileName[1] <> '/' then
FFileName:= GetPipeFileName(FFileName, Owner.Global);
-{$IF NOT DEFINED(LINUX)}
+{$IF NOT DEFINED(USE_XDG)}
// Verify directory owner
Directory:= ExtractFileDir(FFileName);
if not DirectoryExists(Directory) then