diff --git a/appmanagerjob.cpp b/appmanagerjob.cpp index ee2efd294917ae4ef84b27d625fc2930bb183935..5e58db0eb5cb675d7810deb185aae9d410e7fe9f 100644 --- a/appmanagerjob.cpp +++ b/appmanagerjob.cpp @@ -551,7 +551,7 @@ bool AppManagerJob::getPkgInfoListFromFile(QList &pkgInfoList, const QS if (lineText.isEmpty()) { pkgInfo.infosFilePath = pkgInfosFilePath; pkgInfo.depositoryUrl = depositoryUrlStr; - pkgInfo.contentOffset = contentOffset; + pkgInfo.contentOffset = lastPkgContentOffset; pkgInfo.contentSize = contentOffset - lastPkgContentOffset; lastPkgContentOffset = contentOffset; pkgInfoList.append(pkgInfo); @@ -753,8 +753,9 @@ void AppManagerJob::loadSrvAppInfosFromFile(QMap &appInfosMap, for (const PkgInfo &pkgInfo : pkgInfoList) { m_mutex.lock(); // appInfosMap为成员变量,加锁 - appInfosMap[pkgInfo.pkgName].pkgName = pkgInfo.pkgName; - appInfosMap[pkgInfo.pkgName].pkgInfoList.append(pkgInfo); + AppInfo *appInfo = &appInfosMap[pkgInfo.pkgName]; + appInfo->pkgName = pkgInfo.pkgName; + appInfo->pkgInfoList.append(pkgInfo); m_mutex.unlock(); // 解锁 } }