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 /rbutil/rbutilqt | |
parent | 6aeecf5e2ca2abe94bfa3dc5b99861f402165289 (diff) | |
download | rockbox-ef9eea7fd2be10b3e437d5944cfaf0fa001fc917.tar.gz rockbox-ef9eea7fd2be10b3e437d5944cfaf0fa001fc917.zip |
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
Diffstat (limited to 'rbutil/rbutilqt')
-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 6f7976a6bb..96183d1075 100644 --- a/rbutil/rbutilqt/gui/selectiveinstallwidget.cpp +++ b/rbutil/rbutilqt/gui/selectiveinstallwidget.cpp | |||
@@ -387,7 +387,7 @@ void SelectiveInstallWidget::installRockbox(void) | |||
387 | ServerInfo::RelCandidateUrl).toString(); | 387 | ServerInfo::RelCandidateUrl).toString(); |
388 | 388 | ||
389 | //! install build | 389 | //! install build |
390 | if(m_zipinstaller != NULL) delete m_zipinstaller; | 390 | if(m_zipinstaller != NULL) m_zipinstaller->deleteLater(); |
391 | m_zipinstaller = new ZipInstaller(this); | 391 | m_zipinstaller = new ZipInstaller(this); |
392 | m_zipinstaller->setUrl(url); | 392 | m_zipinstaller->setUrl(url); |
393 | m_zipinstaller->setLogSection("Rockbox (Base)"); | 393 | m_zipinstaller->setLogSection("Rockbox (Base)"); |
@@ -431,7 +431,7 @@ void SelectiveInstallWidget::installFonts(void) | |||
431 | fontsurl.replace("%RELEASEVER%", relversion); | 431 | fontsurl.replace("%RELEASEVER%", relversion); |
432 | 432 | ||
433 | // create new zip installer | 433 | // create new zip installer |
434 | if(m_zipinstaller != NULL) delete m_zipinstaller; | 434 | if(m_zipinstaller != NULL) m_zipinstaller->deleteLater(); |
435 | m_zipinstaller = new ZipInstaller(this); | 435 | m_zipinstaller = new ZipInstaller(this); |
436 | m_zipinstaller->setUrl(fontsurl); | 436 | m_zipinstaller->setUrl(fontsurl); |
437 | m_zipinstaller->setLogSection("Fonts"); | 437 | m_zipinstaller->setLogSection("Fonts"); |
@@ -491,7 +491,7 @@ void SelectiveInstallWidget::installGamefiles(void) | |||
491 | } | 491 | } |
492 | qDebug() << "[SelectiveInstallWidget] installing gamefiles"; | 492 | qDebug() << "[SelectiveInstallWidget] installing gamefiles"; |
493 | // create new zip installer | 493 | // create new zip installer |
494 | if(m_zipinstaller != NULL) delete m_zipinstaller; | 494 | if(m_zipinstaller != NULL) m_zipinstaller->deleteLater(); |
495 | m_zipinstaller = new ZipInstaller(this); | 495 | m_zipinstaller = new ZipInstaller(this); |
496 | 496 | ||
497 | m_zipinstaller->setUrl(SystemInfo::value(SystemInfo::DoomUrl).toString()); | 497 | m_zipinstaller->setUrl(SystemInfo::value(SystemInfo::DoomUrl).toString()); |