This commit is contained in:
DavidXanatos 2023-07-23 15:03:59 +02:00
parent 3372b74a22
commit 5f4044dfed
2 changed files with 5 additions and 5 deletions

View File

@ -471,7 +471,7 @@ SB_PROGRESS CSandBox::RemoveSnapshot(const QString& ID)
CSbieProgressPtr pProgress = CSbieProgressPtr(new CSbieProgress()); CSbieProgressPtr pProgress = CSbieProgressPtr(new CSbieProgress());
if (ChildIDs.count() == 1 || IsCurrent) if (ChildIDs.count() == 1 || IsCurrent)
QtConcurrent::run(CSandBox::MergeSnapshotAsync, pProgress, m_FilePath, ID, IsCurrent ? QString() : ChildIDs.first(), m_Name, m_pAPI); QtConcurrent::run(CSandBox::MergeSnapshotAsync, pProgress, m_FilePath, ID, IsCurrent ? QString() : ChildIDs.first(), qMakePair(m_Name, m_pAPI));
else else
QtConcurrent::run(CSandBox::DeleteSnapshotAsync, pProgress, m_FilePath, ID); QtConcurrent::run(CSandBox::DeleteSnapshotAsync, pProgress, m_FilePath, ID);
return SB_PROGRESS(OP_ASYNC, pProgress); return SB_PROGRESS(OP_ASYNC, pProgress);
@ -553,7 +553,7 @@ SB_STATUS CSandBox__CleanupSnapshot(const QString& Folder)
#define FILE_DELETED_FLAG 0x0001 #define FILE_DELETED_FLAG 0x0001
#define FILE_RELOCATION_FLAG 0x0002 #define FILE_RELOCATION_FLAG 0x0002
void CSandBox::MergeSnapshotAsync(const CSbieProgressPtr& pProgress, const QString& BoxPath, const QString& TargetID, const QString& SourceID, const QString& BoxName, class CSbieAPI* pAPI) void CSandBox::MergeSnapshotAsync(const CSbieProgressPtr& pProgress, const QString& BoxPath, const QString& TargetID, const QString& SourceID, const QPair<const QString, class CSbieAPI*>& params)
{ {
// //
// Targe is to be removed; // Targe is to be removed;
@ -567,8 +567,8 @@ void CSandBox::MergeSnapshotAsync(const CSbieProgressPtr& pProgress, const QStri
QString SourceFolder = IsCurrent ? BoxPath : (BoxPath + "\\snapshot-" + SourceID); QString SourceFolder = IsCurrent ? BoxPath : (BoxPath + "\\snapshot-" + SourceID);
QString TargetFolder = BoxPath + "\\snapshot-" + TargetID; QString TargetFolder = BoxPath + "\\snapshot-" + TargetID;
auto GetBoxedPath = [BoxPath, BoxName, pAPI](const QString& Path, const QString& TargetFolder) { auto GetBoxedPath = [BoxPath, params](const QString& Path, const QString& TargetFolder) {
QString SubPath = pAPI->GetBoxedPath(BoxName, Path).mid(BoxPath.length()); QString SubPath = params.second->GetBoxedPath(params.first, Path).mid(BoxPath.length());
return TargetFolder + SubPath; return TargetFolder + SubPath;
}; };

View File

@ -86,7 +86,7 @@ protected:
static void CleanBoxAsync(const CSbieProgressPtr& pProgress, const QStringList& BoxFolders); static void CleanBoxAsync(const CSbieProgressPtr& pProgress, const QStringList& BoxFolders);
static void DeleteSnapshotAsync(const CSbieProgressPtr& pProgress, const QString& BoxPath, const QString& ID); static void DeleteSnapshotAsync(const CSbieProgressPtr& pProgress, const QString& BoxPath, const QString& ID);
static void MergeSnapshotAsync(const CSbieProgressPtr& pProgress, const QString& BoxPath, const QString& TargetID, const QString& SourceID, const QString& BoxName, class CSbieAPI* pAPI); static void MergeSnapshotAsync(const CSbieProgressPtr& pProgress, const QString& BoxPath, const QString& TargetID, const QString& SourceID, const QPair<const QString, class CSbieAPI*>& params);
QString m_FilePath; QString m_FilePath;
QString m_RegPath; QString m_RegPath;