From 8a5b4510aedc92749424086067e45d3be52c5e07 Mon Sep 17 00:00:00 2001 From: Christian Mollekopf Date: Mon, 9 May 2016 10:22:00 +0200 Subject: Deal with null results (as provided by the mailtransport) --- common/resultprovider.h | 1 + common/store.cpp | 6 +++++- 2 files changed, 6 insertions(+), 1 deletion(-) (limited to 'common') diff --git a/common/resultprovider.h b/common/resultprovider.h index 5561ff2..b7d9272 100644 --- a/common/resultprovider.h +++ b/common/resultprovider.h @@ -342,6 +342,7 @@ public: void addEmitter(const typename ResultEmitter::Ptr &emitter) { + Q_ASSERT(emitter); emitter->onAdded([this](const DomainType &value) { this->add(value); }); emitter->onModified([this](const DomainType &value) { this->modify(value); }); emitter->onRemoved([this](const DomainType &value) { this->remove(value); }); diff --git a/common/store.cpp b/common/store.cpp index 2ee6695..9211b51 100644 --- a/common/store.cpp +++ b/common/store.cpp @@ -125,7 +125,11 @@ QSharedPointer Store::loadModel(Query query) if (facade) { Trace() << "Trying to fetch from resource " << resourceInstanceIdentifier; auto result = facade->load(query); - aggregatingEmitter->addEmitter(result.second); + if (result.second) { + aggregatingEmitter->addEmitter(result.second); + } else { + Warning() << "Null emitter for resource " << resourceInstanceIdentifier; + } result.first.template then([&future]() { future.setFinished(); }).exec(); } else { Trace() << "Couldn' find a facade for " << resourceInstanceIdentifier; -- cgit v1.2.3