mirror of
https://github.com/doublecmd/doublecmd.git
synced 2026-06-21 09:58:13 +00:00
FIX: Crash with absolute symbolic links (GVFS)
(cherry picked from commit 7d7a729773)
This commit is contained in:
parent
d9a6bba4cf
commit
c8be36cef6
1 changed files with 17 additions and 12 deletions
|
|
@ -145,22 +145,27 @@ begin
|
|||
Result.LinkProperty.IsValid := Assigned(ATarget);
|
||||
if Assigned(ATarget) then
|
||||
begin
|
||||
AFile:= g_file_get_child(AFolder, ATarget);
|
||||
|
||||
ASymlinkInfo := g_file_query_info (AFile, FILE_ATTRIBUTE_STANDARD_TYPE,
|
||||
G_FILE_QUERY_INFO_NONE, nil, nil);
|
||||
|
||||
Result.LinkProperty.LinkTo := ATarget;
|
||||
Result.LinkProperty.IsValid := Assigned(ASymlinkInfo);
|
||||
|
||||
if (Result.LinkProperty.IsValid) then
|
||||
AFile:= g_file_get_child(AFolder, ATarget);
|
||||
Result.LinkProperty.IsValid:= Assigned(AFile);
|
||||
|
||||
if Result.LinkProperty.IsValid then
|
||||
begin
|
||||
AFileType:= g_file_info_get_file_type(ASymlinkInfo);
|
||||
Result.LinkProperty.IsLinkToDirectory := (AFileType = G_FILE_TYPE_DIRECTORY);
|
||||
if Result.LinkProperty.IsLinkToDirectory then Result.Size := 0;
|
||||
g_object_unref(ASymlinkInfo);
|
||||
ASymlinkInfo := g_file_query_info (AFile, FILE_ATTRIBUTE_STANDARD_TYPE,
|
||||
G_FILE_QUERY_INFO_NONE, nil, nil);
|
||||
|
||||
Result.LinkProperty.IsValid := Assigned(ASymlinkInfo);
|
||||
|
||||
if (Result.LinkProperty.IsValid) then
|
||||
begin
|
||||
AFileType:= g_file_info_get_file_type(ASymlinkInfo);
|
||||
Result.LinkProperty.IsLinkToDirectory := (AFileType = G_FILE_TYPE_DIRECTORY);
|
||||
if Result.LinkProperty.IsLinkToDirectory then Result.Size := 0;
|
||||
g_object_unref(ASymlinkInfo);
|
||||
end;
|
||||
g_object_unref(PGObject(AFile));
|
||||
end;
|
||||
g_object_unref(PGObject(AFile));
|
||||
end;
|
||||
end
|
||||
else if AFileType in [G_FILE_TYPE_SHORTCUT, G_FILE_TYPE_MOUNTABLE] then
|
||||
|
|
|
|||
Loading…
Add table
Add a link
Reference in a new issue