Skip to content

Commit

Permalink
fix: 修复解压加密之后的rar压缩文件问题
Browse files Browse the repository at this point in the history
修复解压加密之后的rar压缩文件问题

Bug: https://pms.uniontech.com/bug-view-232911.html
Log: 修复解压加密之后的rar压缩文件问题
  • Loading branch information
myk1343 committed Dec 8, 2023
1 parent 9130b9d commit 8a5fc40
Showing 1 changed file with 4 additions and 1 deletion.
5 changes: 4 additions & 1 deletion 3rdparty/interface/archiveinterface/cliinterface.cpp
Original file line number Diff line number Diff line change
Expand Up @@ -201,13 +201,16 @@ PluginFinishType CliInterface::extractFiles(const QList<FileEntry> &files, const
ArchiveData arcData = DataManager::get_instance().archiveData();
if(!bDlnfs) {
if(arcData.listRootEntry.isEmpty() && options.qSize < FILE_MAX_SIZE) { //对于长文件解压,压缩包小于10M,右键解压支持,先获取文件列表,再根据列表数据判断是否为长文件,以后应用加开关表明是否为唱文件解压
setProperty("list", "tmpList");
list();
if(m_process) {
m_process->waitForFinished();
m_process->deleteLater();
m_process = nullptr;
}
m_workStatus = WT_Extract;
arcData = DataManager::get_instance().archiveData();
setProperty("list", "");
}
for (QMap<QString, FileEntry>::const_iterator iter = arcData.mapFileEntry.begin(); iter != arcData.mapFileEntry.end(); iter++) {
if(NAME_MAX < iter.value().strFileName.toLocal8Bit().length())
Expand Down Expand Up @@ -646,7 +649,7 @@ bool CliInterface::runProcess(const QString &programName, const QStringList &arg
if (m_workStatus == WT_Extract) {
// Extraction jobs need a dedicated post-processing function.
connect(m_process, SIGNAL(finished(int, QProcess::ExitStatus)), this, SLOT(extractProcessFinished(int, QProcess::ExitStatus)));
} else {
} else if(property("list").toString() != "tmpList"){
connect(m_process, SIGNAL(finished(int, QProcess::ExitStatus)), this, SLOT(processFinished(int, QProcess::ExitStatus)));
}

Expand Down

0 comments on commit 8a5fc40

Please sign in to comment.