From 0b5f0b92846d45bdb39f2ef0866f7f643b74c2da Mon Sep 17 00:00:00 2001 From: Dominik Riebeling Date: Sun, 23 Aug 2020 16:51:44 +0200 Subject: rbutil: Fix Xduoo bootloader installation. - Don't try to unzip the bootloader file if we're actually looking for a zip file. - Fix wrong bootloader file name for X3. - There's no QThread::terminated() signal, don't connect it. Change-Id: Iebfcc61d644c8443b60d9b37f4932d7b46098465 --- rbutil/rbutilqt/base/bootloaderinstallbase.cpp | 13 +++++++++++-- rbutil/rbutilqt/base/bootloaderinstallbspatch.cpp | 1 - rbutil/rbutilqt/rbutil.ini | 2 +- 3 files changed, 12 insertions(+), 4 deletions(-) (limited to 'rbutil/rbutilqt') diff --git a/rbutil/rbutilqt/base/bootloaderinstallbase.cpp b/rbutil/rbutilqt/base/bootloaderinstallbase.cpp index 30f53ae810..5f8fd40d08 100644 --- a/rbutil/rbutilqt/base/bootloaderinstallbase.cpp +++ b/rbutil/rbutilqt/base/bootloaderinstallbase.cpp @@ -224,11 +224,20 @@ void BootloaderInstallBase::setBlFile(QStringList sl) bool BootloaderInstallBase::setOfFile(QString of, QStringList blfile) { bool found = false; - ArchiveUtil *util = 0; + ArchiveUtil *util = nullptr; + + // check if we're actually looking for a zip file. If so we must avoid + // trying to unzip it. + bool wantZip = false; + for (int i = 0; i < blfile.size(); i++) + { + if (blfile.at(i).endsWith(".zip")) + wantZip = true; + } // try ZIP first ZipUtil *zu = new ZipUtil(this); - if(zu->open(of)) + if(zu->open(of) && !wantZip) { emit logItem(tr("Zip file format detected"), LOGINFO); util = zu; diff --git a/rbutil/rbutilqt/base/bootloaderinstallbspatch.cpp b/rbutil/rbutilqt/base/bootloaderinstallbspatch.cpp index c9cbd91abe..8b2ef97cd2 100644 --- a/rbutil/rbutilqt/base/bootloaderinstallbspatch.cpp +++ b/rbutil/rbutilqt/base/bootloaderinstallbspatch.cpp @@ -110,7 +110,6 @@ void BootloaderInstallBSPatch::installStage2(void) m_tempfile.close(); m_patchedFile.close(); connect(m_thread, SIGNAL(finished()), this, SLOT(installStage3())); - connect(m_thread, SIGNAL(terminated()), this, SLOT(installStage3())); m_thread->start(); } diff --git a/rbutil/rbutilqt/rbutil.ini b/rbutil/rbutilqt/rbutil.ini index e187dda7e7..9ef6a1b208 100644 --- a/rbutil/rbutilqt/rbutil.ini +++ b/rbutil/rbutilqt/rbutil.ini @@ -882,7 +882,7 @@ name="xDuoo X3" buildserver_modelname=xduoox3 bootloadermethod=bspatch bootloadername=/xduoo/X3-v11.bsdiff -bootloaderfile=update.zip +bootloaderfile=/update.zip bootloaderfilter=*.zip manualname= brand=xDuoo -- cgit