summaryrefslogtreecommitdiff
path: root/rbutil/rbutilqt/gui/selectiveinstallwidget.cpp
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 /rbutil/rbutilqt/gui/selectiveinstallwidget.cpp
parent6aeecf5e2ca2abe94bfa3dc5b99861f402165289 (diff)
downloadrockbox-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/gui/selectiveinstallwidget.cpp')
-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 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());