aboutsummaryrefslogtreecommitdiffstats
path: root/src/lib/corelib/api
diff options
context:
space:
mode:
authorChristian Kandeler <christian.kandeler@qt.io>2017-06-02 11:29:41 +0200
committerChristian Kandeler <christian.kandeler@qt.io>2017-06-02 11:29:41 +0200
commit11a08386295c1b9c9abb71899421274daea07d2c (patch)
tree5466f742b67982b92a697b9618eaaa083b4a5649 /src/lib/corelib/api
parent3c6c36bc36cfd3763d8b4a6184d130b5bd731a08 (diff)
parent7e67993ea78570cd44aaec6595219cf68bd21cf0 (diff)
Merge 1.8 into master
Diffstat (limited to 'src/lib/corelib/api')
-rw-r--r--src/lib/corelib/api/internaljobs.cpp2
-rw-r--r--src/lib/corelib/api/project.cpp4
2 files changed, 5 insertions, 1 deletions
diff --git a/src/lib/corelib/api/internaljobs.cpp b/src/lib/corelib/api/internaljobs.cpp
index 54ce7bfe1..f6978ffc8 100644
--- a/src/lib/corelib/api/internaljobs.cpp
+++ b/src/lib/corelib/api/internaljobs.cpp
@@ -196,7 +196,7 @@ void InternalJobThreadWrapper::start()
setTimed(m_job->timed());
m_thread.start();
m_running = true;
- emit startRequested();
+ QTimer::singleShot(0, this, &InternalJobThreadWrapper::startRequested);
}
void InternalJobThreadWrapper::handleFinished()
diff --git a/src/lib/corelib/api/project.cpp b/src/lib/corelib/api/project.cpp
index 017db6f42..fba895e2f 100644
--- a/src/lib/corelib/api/project.cpp
+++ b/src/lib/corelib/api/project.cpp
@@ -153,6 +153,7 @@ BuildJob *ProjectPrivate::buildProducts(const QList<ResolvedProductPtr> &product
BuildJob * const job = new BuildJob(logger, jobOwner);
job->build(internalProject, productsToBuild, options);
+ QBS_ASSERT(job->state() == AbstractJob::StateRunning,);
return job;
}
@@ -161,6 +162,7 @@ CleanJob *ProjectPrivate::cleanProducts(const QList<ResolvedProductPtr> &product
{
CleanJob * const job = new CleanJob(logger, jobOwner);
job->clean(internalProject, products, options);
+ QBS_ASSERT(job->state() == AbstractJob::StateRunning,);
return job;
}
@@ -172,6 +174,7 @@ InstallJob *ProjectPrivate::installProducts(const QList<ResolvedProductPtr> &pro
addDependencies(productsToInstall);
InstallJob * const job = new InstallJob(logger, jobOwner);
job->install(internalProject, productsToInstall, options);
+ QBS_ASSERT(job->state() == AbstractJob::StateRunning,);
return job;
}
@@ -916,6 +919,7 @@ SetupProjectJob *Project::setupProject(const SetupProjectParameters &parameters,
try {
loadPlugins(parameters.pluginPaths(), logger);
job->resolve(*this, parameters);
+ QBS_ASSERT(job->state() == AbstractJob::StateRunning,);
} catch (const ErrorInfo &error) {
// Throwing from here would complicate the API, so let's report the error the same way
// as all others, via AbstractJob::error().