diff --git a/src/libtomahawk/network/ConnectionManager.cpp b/src/libtomahawk/network/ConnectionManager.cpp index 0180dfee0..3ff264514 100644 --- a/src/libtomahawk/network/ConnectionManager.cpp +++ b/src/libtomahawk/network/ConnectionManager.cpp @@ -342,8 +342,9 @@ ConnectionManager::activate() void ConnectionManager::deactivate() { - setActive( false, d_func()->nodeid, weakRef().toStrongRef() ); - d_func()->mutex.unlock(); + QSharedPointer strongRef = weakRef().toStrongRef(); + setActive( false, d_func()->nodeid, strongRef ); + strongRef->d_func()->mutex.unlock(); }