summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--rbutil/rbutilqt/base/bootloaderinstallfile.cpp19
1 files changed, 16 insertions, 3 deletions
diff --git a/rbutil/rbutilqt/base/bootloaderinstallfile.cpp b/rbutil/rbutilqt/base/bootloaderinstallfile.cpp
index 6d95106..fc293e5 100644
--- a/rbutil/rbutilqt/base/bootloaderinstallfile.cpp
+++ b/rbutil/rbutilqt/base/bootloaderinstallfile.cpp
@@ -80,11 +80,24 @@ void BootloaderInstallFile::installStage2(void)
// place (new) bootloader
m_tempfile.open();
- qDebug() << "[BootloaderInstallFile] renaming" << m_tempfile.fileName() << "to" << fwfile;
+ qDebug() << "[BootloaderInstallFile] renaming" << m_tempfile.fileName()
+ << "to" << fwfile;
m_tempfile.close();
- m_tempfile.copy(fwfile);
- emit logItem(tr("Bootloader successful installed"), LOGOK);
+ if(!Utils::resolvePathCase(fwfile).isEmpty()) {
+ emit logItem(tr("A firmware file is already present on player"), LOGERROR);
+ emit done(true);
+ return;
+ }
+ if(m_tempfile.copy(fwfile)) {
+ emit logItem(tr("Bootloader successful installed"), LOGOK);
+ }
+ else {
+ emit logItem(tr("Copying modified firmware file failed"), LOGERROR);
+ emit done(true);
+ return;
+ }
+
logInstall(LogAdd);
emit done(false);