diff --git a/src/libneochat/neochatroom.cpp b/src/libneochat/neochatroom.cpp index e77bf2b41..a605edd42 100644 --- a/src/libneochat/neochatroom.cpp +++ b/src/libneochat/neochatroom.cpp @@ -1675,7 +1675,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();