Skip to content

Commit

Permalink
fix: 修复7z加密压缩文件解压异常问题
Browse files Browse the repository at this point in the history
修复7z加密压缩文件解压异常问题

Bug: https://pms.uniontech.com/bug-view-252509.html
Log: 修复7z加密压缩文件解压异常问题
  • Loading branch information
myk1343 committed Apr 28, 2024
1 parent ccf8c93 commit 1e43755
Showing 1 changed file with 14 additions and 13 deletions.
27 changes: 14 additions & 13 deletions 3rdparty/interface/archiveinterface/cliinterface.cpp
Original file line number Diff line number Diff line change
Expand Up @@ -88,26 +88,15 @@ PluginFinishType CliInterface::extractFiles(const QList<FileEntry> &files, const
bool bDlnfs = m_common->isSubpathOfDlnfs(options.strTargetPath);
setProperty("dlnfs", bDlnfs);
ArchiveData arcData = DataManager::get_instance().archiveData();
m_files = files;
m_extractOptions = options;

if(!bDlnfs) {
if(arcData.listRootEntry.isEmpty() && options.qSize < FILE_MAX_SIZE) {
emit signalprogress(1);
setProperty("list", "tmpList");
list();
setProperty("list", "");
connect(m_process, QOverload<int, QProcess::ExitStatus>::of(&QProcess::finished), this,
[=](int exitCode, QProcess::ExitStatus){
if(m_process) {
if(exitCode != 0) {
emit signalprogress(100);
emit signalFinished(m_finishType);
return PFT_Error;
}
m_process->deleteLater();
m_process = nullptr;
extractFiles(files, options, property("dlnfs").toBool());
}
});
return PFT_Nomral;
}
}
Expand Down Expand Up @@ -706,6 +695,18 @@ bool CliInterface::runProcess(const QString &programName, const QStringList &arg
connect(m_process, SIGNAL(finished(int, QProcess::ExitStatus)), this, SLOT(extractProcessFinished(int, QProcess::ExitStatus)));
} else if(property("list").toString() != "tmpList"){
connect(m_process, SIGNAL(finished(int, QProcess::ExitStatus)), this, SLOT(processFinished(int, QProcess::ExitStatus)));
} else {
connect(m_process, QOverload<int, QProcess::ExitStatus>::of(&QProcess::finished), this,
[=](int exitCode, QProcess::ExitStatus){
if(m_process) {
if(exitCode != 0) {
emit signalprogress(100);
emit signalFinished(PFT_Error);
}
deleteProcess();
extractFiles(m_files, m_extractOptions, property("dlnfs").toBool());
}
});
}

m_stdOutData.clear();
Expand Down

0 comments on commit 1e43755

Please sign in to comment.