From 26c879c241ff3ce207d5ae754818fea1b50bd153 Mon Sep 17 00:00:00 2001 From: Christian Mollekopf Date: Fri, 23 Oct 2015 09:21:51 +0200 Subject: Avoid deadlock --- common/facadefactory.cpp | 3 +++ 1 file changed, 3 insertions(+) (limited to 'common') diff --git a/common/facadefactory.cpp b/common/facadefactory.cpp index 64a466d..707d9ad 100644 --- a/common/facadefactory.cpp +++ b/common/facadefactory.cpp @@ -63,7 +63,10 @@ std::shared_ptr FacadeFactory::getFacade(const QByteArray &resource, const const QByteArray k = key(resource, typeName); if (!mFacadeRegistry.contains(k)) { + locker.unlock(); + //This will call FacadeFactory::instace() internally Akonadi2::ResourceFactory::load(QString::fromLatin1(resource)); + locker.relock(); } if (auto factoryFunction = mFacadeRegistry.value(k)) { -- cgit v1.2.3