summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorCaolán McNamara <caolanm@redhat.com>2016-07-08 12:48:17 +0100
committerMiklos Vajna <vmiklos@collabora.co.uk>2016-07-15 12:58:49 +0000
commitaa21d31c6350f996bdff46c9ef5f4376e8fd841c (patch)
tree5d94e10e972ee3df25458adb2b60e1c5b894c836
parent8f8b9c2ad52b0f265e274eaf7fa4df337aa8388d (diff)
Resolves: tdf#100713 on cancel curData points to deleted parents vector entry
Change-Id: Ic2f313c357ce9526eb045791e2d27451e52a7572 (cherry picked from commit 17cb84338d6921d012af1e1245f434f90bc25142) Reviewed-on: https://gerrit.libreoffice.org/27040 Reviewed-by: Björn Michaelsen <bjoern.michaelsen@canonical.com> Reviewed-by: Eike Rathke <erack@redhat.com> Reviewed-by: Miklos Vajna <vmiklos@collabora.co.uk> Tested-by: Miklos Vajna <vmiklos@collabora.co.uk>
-rw-r--r--desktop/source/deployment/gui/dp_gui_updateinstalldialog.cxx14
1 files changed, 8 insertions, 6 deletions
diff --git a/desktop/source/deployment/gui/dp_gui_updateinstalldialog.cxx b/desktop/source/deployment/gui/dp_gui_updateinstalldialog.cxx
index dcc017710cc5..f829ea14852c 100644
--- a/desktop/source/deployment/gui/dp_gui_updateinstalldialog.cxx
+++ b/desktop/source/deployment/gui/dp_gui_updateinstalldialog.cxx
@@ -91,7 +91,7 @@ private:
virtual void execute() override;
void downloadExtensions();
- void download(OUString const & aUrls, UpdateData & aUpdatData);
+ bool download(OUString const & aUrls, UpdateData & aUpdatData);
void installExtensions();
void removeTempDownloads();
@@ -388,8 +388,8 @@ void UpdateInstallDialog::Thread::downloadExtensions()
try
{
OSL_ENSURE(!seqDownloadURLs[j].isEmpty(), "Download URL is empty!");
- download(seqDownloadURLs[j], curData);
- if (!curData.sLocalURL.isEmpty())
+ bool bCancelled = download(seqDownloadURLs[j], curData);
+ if (bCancelled || !curData.sLocalURL.isEmpty())
break;
}
catch ( cssu::Exception & e )
@@ -575,12 +575,12 @@ void UpdateInstallDialog::Thread::removeTempDownloads()
}
}
-void UpdateInstallDialog::Thread::download(OUString const & sDownloadURL, UpdateData & aUpdateData)
+bool UpdateInstallDialog::Thread::download(OUString const & sDownloadURL, UpdateData & aUpdateData)
{
{
SolarMutexGuard g;
if (m_stop) {
- return;
+ return m_stop;
}
}
@@ -614,12 +614,14 @@ void UpdateInstallDialog::Thread::download(OUString const & sDownloadURL, Update
{
SolarMutexGuard g;
if (m_stop) {
- return;
+ return m_stop;
}
//all errors should be handled by the command environment.
aUpdateData.sLocalURL = destFolder + "/" + sTitle;
}
}
+
+ return m_stop;
}
UpdateCommandEnv::UpdateCommandEnv( cssu::Reference< cssu::XComponentContext > const & xCtx,