diff --git a/src/libneochat/neochatroom.cpp b/src/libneochat/neochatroom.cpp index 65583a11c..e4869b19d 100644 --- a/src/libneochat/neochatroom.cpp +++ b/src/libneochat/neochatroom.cpp @@ -1674,7 +1674,9 @@ void NeoChatRoom::setRoomState(const QString &type, const QString &stateKey, con NeochatRoomMember *NeoChatRoom::qmlSafeMember(const QString &memberId) { if (!m_memberObjects.contains(memberId)) { - return m_memberObjects.emplace(memberId, std::make_unique(this, memberId)).first->second.get(); + auto member = m_memberObjects.emplace(memberId, std::make_unique(this, memberId)).first->second.get(); + QQmlEngine::setObjectOwnership(member, QQmlEngine::CppOwnership); + return member; } return m_memberObjects[memberId].get();