Fix update unpacking
This commit is contained in:
@@ -37,7 +37,10 @@ HEADERS += \
|
||||
LIBS += -lgit2
|
||||
|
||||
win32 {
|
||||
DEFINES += _WIN32_WINNT=0x06010000
|
||||
DEFINES += _WIN32_WINNT=0x06010000 GAM_EXEC=\\\"$${TARGET}.exe\\\"
|
||||
}
|
||||
unix {
|
||||
DEFINES += GAM_EXEC=\\\"$${TARGET}\\\"
|
||||
}
|
||||
|
||||
isEmpty(GIT_DESCRIBE){
|
||||
|
||||
+6
-4
@@ -490,10 +490,12 @@ void Control::downloadUpdate()
|
||||
void Control::executeUpdate()
|
||||
{
|
||||
delegate("Apply Update", [this](){
|
||||
QuaZip zip("GitAddonsManager.zip");
|
||||
QDir appRoot(QApplication::applicationDirPath());
|
||||
QuaZip zip(appRoot.absoluteFilePath("GitAddonsManager.zip"));
|
||||
if (!zip.open(QuaZip::mdUnzip))
|
||||
return;
|
||||
QDir root(QApplication::applicationDirPath() + "/update");
|
||||
QDir root(appRoot.absoluteFilePath("update"));
|
||||
appRoot.mkdir(root.absolutePath());
|
||||
unsigned int size = 0;
|
||||
foreach (const QuaZipFileInfo &info, zip.getFileInfoList())
|
||||
size += info.uncompressedSize;
|
||||
@@ -515,8 +517,8 @@ void Control::executeUpdate()
|
||||
f.close();
|
||||
}
|
||||
zip.close();
|
||||
QFile::remove("GitAddonsManager.zip");
|
||||
QFile exe(root.absoluteFilePath("GitAddonsManager"));
|
||||
QFile::remove(appRoot.absoluteFilePath("GitAddonsManager.zip"));
|
||||
QFile exe(root.absoluteFilePath(GAM_EXEC));
|
||||
exe.setPermissions(QFile::ExeOwner | exe.permissions());
|
||||
},[this](){
|
||||
setUpdateStatus(UpdateStatus::UpdateDone);
|
||||
|
||||
@@ -83,9 +83,9 @@ int main(int argc, char *argv[])
|
||||
if (res == 2) {
|
||||
QStringList args = app.arguments().mid(1);
|
||||
args << "--update" << QString("\"%1\"").arg(app.applicationDirPath());
|
||||
QProcess().startDetached(app.applicationDirPath()+"/update/GitAddonsManager", args);
|
||||
QProcess().startDetached(app.applicationDirPath()+"/update/" + GAM_EXEC, args);
|
||||
}
|
||||
if (res == 3)
|
||||
QProcess().startDetached(update + "/GitAddonsManager", QApplication::arguments().mid(1) << "--update" << "");
|
||||
QProcess().startDetached(update + "/" + GAM_EXEC, QApplication::arguments().mid(1) << "--update" << "");
|
||||
return res;
|
||||
}
|
||||
|
||||
@@ -169,7 +169,7 @@ ApplicationWindow {
|
||||
Engine.updateStatus === Engine.DownloadingUpdate ?
|
||||
qsTr("Downloading update...") :
|
||||
Engine.updateStatus === Engine.UpdateReady ?
|
||||
qsTr("Apply update") : qsTr("error")
|
||||
qsTr("Unpacking update") : qsTr("error")
|
||||
}
|
||||
}
|
||||
onClicked: Engine.updateStatus === Engine.NoUpdate ?
|
||||
|
||||
Reference in New Issue
Block a user