summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorDominik Riebeling <Dominik.Riebeling@gmail.com>2013-03-09 19:31:35 +0100
committerDominik Riebeling <Dominik.Riebeling@gmail.com>2013-03-09 19:31:35 +0100
commitef9eea7fd2be10b3e437d5944cfaf0fa001fc917 (patch)
tree7f184c217d4c416c8bca09f503b5cad70d809e93
parent6aeecf5e2ca2abe94bfa3dc5b99861f402165289 (diff)
downloadrockbox-ef9eea7fd2be10b3e437d5944cfaf0fa001fc917.zip
rockbox-ef9eea7fd2be10b3e437d5944cfaf0fa001fc917.tar.gz
rockbox-ef9eea7fd2be10b3e437d5944cfaf0fa001fc917.tar.bz2
rockbox-ef9eea7fd2be10b3e437d5944cfaf0fa001fc917.tar.xz
Don't delete ZipInstaller instances directly.
Schedule them for deletion instead of deleting them. That way pending events can still be handled before the main loop deletes them. Fixes crashes on the second download during installation. Change-Id: I7c718dbb0200a64d1aa3bbb6c2839282fb965dec
-rw-r--r--rbutil/rbutilqt/gui/selectiveinstallwidget.cpp6
1 files changed, 3 insertions, 3 deletions
diff --git a/rbutil/rbutilqt/gui/selectiveinstallwidget.cpp b/rbutil/rbutilqt/gui/selectiveinstallwidget.cpp
index 6f7976a..96183d1 100644
--- a/rbutil/rbutilqt/gui/selectiveinstallwidget.cpp
+++ b/rbutil/rbutilqt/gui/selectiveinstallwidget.cpp
@@ -387,7 +387,7 @@ void SelectiveInstallWidget::installRockbox(void)
ServerInfo::RelCandidateUrl).toString();
//! install build
- if(m_zipinstaller != NULL) delete m_zipinstaller;
+ if(m_zipinstaller != NULL) m_zipinstaller->deleteLater();
m_zipinstaller = new ZipInstaller(this);
m_zipinstaller->setUrl(url);
m_zipinstaller->setLogSection("Rockbox (Base)");
@@ -431,7 +431,7 @@ void SelectiveInstallWidget::installFonts(void)
fontsurl.replace("%RELEASEVER%", relversion);
// create new zip installer
- if(m_zipinstaller != NULL) delete m_zipinstaller;
+ if(m_zipinstaller != NULL) m_zipinstaller->deleteLater();
m_zipinstaller = new ZipInstaller(this);
m_zipinstaller->setUrl(fontsurl);
m_zipinstaller->setLogSection("Fonts");
@@ -491,7 +491,7 @@ void SelectiveInstallWidget::installGamefiles(void)
}
qDebug() << "[SelectiveInstallWidget] installing gamefiles";
// create new zip installer
- if(m_zipinstaller != NULL) delete m_zipinstaller;
+ if(m_zipinstaller != NULL) m_zipinstaller->deleteLater();
m_zipinstaller = new ZipInstaller(this);
m_zipinstaller->setUrl(SystemInfo::value(SystemInfo::DoomUrl).toString());