From ebaecead492a1a7471d306e0db6de7dc024068f3 Mon Sep 17 00:00:00 2001
From: Tobias Hunger <tobias.hunger@nokia.com>
Date: Tue, 13 Mar 2012 11:26:36 +0100
Subject: [PATCH] VCS: Handle missing checkout jobs

Handle missing checkout jobs in the checkout wizard.

Task-number: QTCREATORBUG-7082
Change-Id: I8c271ebba1edabb94b5795b2756d316324175151
Reviewed-by: Christian Stenger <christian.stenger@nokia.com>
---
 src/plugins/vcsbase/basecheckoutwizard.cpp         | 3 +--
 src/plugins/vcsbase/checkoutprogresswizardpage.cpp | 5 +++++
 2 files changed, 6 insertions(+), 2 deletions(-)

diff --git a/src/plugins/vcsbase/basecheckoutwizard.cpp b/src/plugins/vcsbase/basecheckoutwizard.cpp
index 6876130588f..b19c281c1ea 100644
--- a/src/plugins/vcsbase/basecheckoutwizard.cpp
+++ b/src/plugins/vcsbase/basecheckoutwizard.cpp
@@ -219,8 +219,7 @@ QString BaseCheckoutWizard::openProject(const QString &path, QString *errorMessa
 void BaseCheckoutWizard::slotProgressPageShown()
 {
     const QSharedPointer<AbstractCheckoutJob> job = createJob(d->parameterPages, &(d->checkoutPath));
-    if (!job.isNull())
-        d->dialog->start(job);
+    d->dialog->start(job);
 }
 
 } // namespace VcsBase
diff --git a/src/plugins/vcsbase/checkoutprogresswizardpage.cpp b/src/plugins/vcsbase/checkoutprogresswizardpage.cpp
index 21994dce783..f7d0dd466fe 100644
--- a/src/plugins/vcsbase/checkoutprogresswizardpage.cpp
+++ b/src/plugins/vcsbase/checkoutprogresswizardpage.cpp
@@ -69,6 +69,11 @@ CheckoutProgressWizardPage::~CheckoutProgressWizardPage()
 
 void CheckoutProgressWizardPage::start(const QSharedPointer<AbstractCheckoutJob> &job)
 {
+    if (job.isNull()) {
+        ui->logPlainTextEdit->setPlainText(tr("No job running, please abort."));
+        return;
+    }
+
     QTC_ASSERT(m_state != Running, return)
     m_job = job;
     connect(job.data(), SIGNAL(output(QString)), ui->logPlainTextEdit, SLOT(appendPlainText(QString)));
-- 
GitLab