diff options
author | Christian Mollekopf <chrigi_1@fastmail.fm> | 2016-04-28 15:45:43 +0200 |
---|---|---|
committer | Christian Mollekopf <chrigi_1@fastmail.fm> | 2016-04-28 15:45:43 +0200 |
commit | 2be6033726b332fa78268989f0dacede4efc59bf (patch) | |
tree | 1b7b238b46f49fc14fb421fa2cb187842386b621 /common/listener.cpp | |
parent | 0b1025ab090895cd215224f61b607623512efeb6 (diff) | |
download | sink-2be6033726b332fa78268989f0dacede4efc59bf.tar.gz sink-2be6033726b332fa78268989f0dacede4efc59bf.zip |
Protect against resources we can't instantiate.
Diffstat (limited to 'common/listener.cpp')
-rw-r--r-- | common/listener.cpp | 4 |
1 files changed, 4 insertions, 0 deletions
diff --git a/common/listener.cpp b/common/listener.cpp index 828a917..28748e5 100644 --- a/common/listener.cpp +++ b/common/listener.cpp | |||
@@ -416,6 +416,10 @@ Sink::Resource *Listener::loadResource() | |||
416 | if (!m_resource) { | 416 | if (!m_resource) { |
417 | if (Sink::ResourceFactory *resourceFactory = Sink::ResourceFactory::load(m_resourceName)) { | 417 | if (Sink::ResourceFactory *resourceFactory = Sink::ResourceFactory::load(m_resourceName)) { |
418 | m_resource = resourceFactory->createResource(m_resourceInstanceIdentifier); | 418 | m_resource = resourceFactory->createResource(m_resourceInstanceIdentifier); |
419 | if (!m_resource) { | ||
420 | ErrorMsg() << "Failed to instantiate the resource " << m_resourceName; | ||
421 | m_resource = new Sink::Resource; | ||
422 | } | ||
419 | Trace() << QString("Resource factory: %1").arg((qlonglong)resourceFactory); | 423 | Trace() << QString("Resource factory: %1").arg((qlonglong)resourceFactory); |
420 | Trace() << QString("\tResource: %1").arg((qlonglong)m_resource); | 424 | Trace() << QString("\tResource: %1").arg((qlonglong)m_resource); |
421 | connect(m_resource, &Sink::Resource::revisionUpdated, this, &Listener::refreshRevision); | 425 | connect(m_resource, &Sink::Resource::revisionUpdated, this, &Listener::refreshRevision); |