summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorDominik Riebeling <Dominik.Riebeling@gmail.com>2020-08-23 16:51:44 +0200
committerDominik Riebeling <Dominik.Riebeling@gmail.com>2020-08-23 16:55:28 +0200
commit0b5f0b92846d45bdb39f2ef0866f7f643b74c2da (patch)
treeb3e864bb53e00ae1d66fba8bc317fe32f5a5480f
parent53dedd47b904bddfd38983ec3567acc60a3b986d (diff)
downloadrockbox-0b5f0b92846d45bdb39f2ef0866f7f643b74c2da.tar.gz
rockbox-0b5f0b92846d45bdb39f2ef0866f7f643b74c2da.tar.bz2
rockbox-0b5f0b92846d45bdb39f2ef0866f7f643b74c2da.zip
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
-rw-r--r--rbutil/rbutilqt/base/bootloaderinstallbase.cpp13
-rw-r--r--rbutil/rbutilqt/base/bootloaderinstallbspatch.cpp1
-rw-r--r--rbutil/rbutilqt/rbutil.ini2
3 files changed, 12 insertions, 4 deletions
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