summaryrefslogtreecommitdiffstats
path: root/rbutil/rbutilqt/base/bootloaderinstallsansa.cpp
diff options
context:
space:
mode:
Diffstat (limited to 'rbutil/rbutilqt/base/bootloaderinstallsansa.cpp')
-rw-r--r--rbutil/rbutilqt/base/bootloaderinstallsansa.cpp26
1 files changed, 23 insertions, 3 deletions
diff --git a/rbutil/rbutilqt/base/bootloaderinstallsansa.cpp b/rbutil/rbutilqt/base/bootloaderinstallsansa.cpp
index e57a7f9c24..48bd0053ee 100644
--- a/rbutil/rbutilqt/base/bootloaderinstallsansa.cpp
+++ b/rbutil/rbutilqt/base/bootloaderinstallsansa.cpp
@@ -134,10 +134,14 @@ void BootloaderInstallSansa::installStage2(void)
if(sansa_add_bootloader(&sansa, blfile.toLatin1().data(),
FILETYPE_MI4) == 0) {
emit logItem(tr("Successfully installed bootloader"), LOGOK);
- logInstall(LogAdd);
- emit done(false);
sansa_close(&sansa);
- return;
+#if defined(Q_OS_MACX)
+ m_remountDevice = sansa.diskname;
+ connect(this, SIGNAL(remounted(bool)), this, SLOT(installStage3(bool)));
+ waitRemount();
+#else
+ installStage3(true);
+#endif
}
else {
emit logItem(tr("Failed to install bootloader"), LOGERROR);
@@ -149,6 +153,22 @@ void BootloaderInstallSansa::installStage2(void)
}
+void BootloaderInstallSansa::installStage3(bool mounted)
+{
+ if(mounted) {
+ logInstall(LogAdd);
+ emit logItem(tr("Bootloader Installation complete."), LOGINFO);
+ emit done(false);
+ return;
+ }
+ else {
+ emit logItem(tr("Writing log aborted"), LOGERROR);
+ emit done(true);
+ }
+ qDebug() << "version installed:" << m_blversion.toString(Qt::ISODate);
+}
+
+
/** Uninstall the bootloader.
*/
bool BootloaderInstallSansa::uninstall(void)