From ef9eea7fd2be10b3e437d5944cfaf0fa001fc917 Mon Sep 17 00:00:00 2001 From: Dominik Riebeling Date: Sat, 9 Mar 2013 19:31:35 +0100 Subject: 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 --- rbutil/rbutilqt/gui/selectiveinstallwidget.cpp | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) (limited to 'rbutil/rbutilqt/gui/selectiveinstallwidget.cpp') 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) 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()); -- cgit v1.2.3