mirror of
https://github.com/doublecmd/doublecmd.git
synced 2026-06-21 09:58:13 +00:00
FIX: dangling(FMultiArcItem) and leak(FOutputParser) in uMultiArchiveFileSource
This commit is contained in:
parent
44b1ebfb9a
commit
780a53bffc
1 changed files with 6 additions and 5 deletions
|
|
@ -5,7 +5,7 @@ unit uMultiArchiveFileSource;
|
|||
interface
|
||||
|
||||
uses
|
||||
Classes, SysUtils, contnrs, DCStringHashListUtf8, uOSUtils,
|
||||
Classes, SysUtils, DCStringHashListUtf8, uOSUtils,
|
||||
uMultiArc, uFile, uFileSourceProperty, uFileSourceOperationTypes,
|
||||
uArchiveFileSource, uFileProperty, uFileSource, uFileSourceOperation,
|
||||
uMultiArchiveUtil, DCBasicTypes, uClassesEx;
|
||||
|
|
@ -245,9 +245,9 @@ constructor TMultiArchiveFileSource.Create(anArchiveFileSource: IFileSource;
|
|||
begin
|
||||
inherited Create(anArchiveFileSource, anArchiveFileName);
|
||||
|
||||
FMultiArcItem := aMultiArcItem;
|
||||
FMultiArcItem := aMultiArcItem.Clone;
|
||||
FArcFileList := TThreadObjectList.Create;
|
||||
FOutputParser := TOutputParser.Create(aMultiArcItem, anArchiveFileName);
|
||||
FOutputParser := TOutputParser.Create(FMultiArcItem, anArchiveFileName);
|
||||
FOutputParser.OnGetArchiveItem:= @OnGetArchiveItem;
|
||||
|
||||
FOperationsClasses[fsoCopyIn] := TMultiArchiveCopyInOperation.GetOperationClass;
|
||||
|
|
@ -279,8 +279,9 @@ destructor TMultiArchiveFileSource.Destroy;
|
|||
begin
|
||||
inherited Destroy;
|
||||
|
||||
if Assigned(FArcFileList) then
|
||||
FreeAndNil(FArcFileList);
|
||||
FreeAndNil(FOutputParser);
|
||||
FreeAndNil(FArcFileList);
|
||||
FreeAndNil(FMultiArcItem);
|
||||
end;
|
||||
|
||||
class function TMultiArchiveFileSource.CreateFile(const APath: String; ArchiveItem: TArchiveItem; FormMode: Integer): TFile;
|
||||
|
|
|
|||
Loading…
Add table
Add a link
Reference in a new issue