diff options
| author | Dominik Riebeling <Dominik.Riebeling@gmail.com> | 2013-03-09 19:31:35 +0100 |
|---|---|---|
| committer | Dominik Riebeling <Dominik.Riebeling@gmail.com> | 2013-03-09 19:31:35 +0100 |
| commit | ef9eea7fd2be10b3e437d5944cfaf0fa001fc917 (patch) | |
| tree | 7f184c217d4c416c8bca09f503b5cad70d809e93 | |
| parent | 6aeecf5e2ca2abe94bfa3dc5b99861f402165289 (diff) | |
| download | rockbox-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.cpp | 6 |
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()); |