diff --git a/src/neochatroom.cpp b/src/neochatroom.cpp index 378a2222b..3c45bac58 100644 --- a/src/neochatroom.cpp +++ b/src/neochatroom.cpp @@ -1705,9 +1705,13 @@ int NeoChatRoom::maxRoomVersion() const return maxVersion; } -Quotient::RoomMember NeoChatRoom::directChatRemoteMember() const +NeochatRoomMember *NeoChatRoom::directChatRemoteMember() { - return directChatMembers()[0]; + if (directChatMembers().size() == 0) { + qWarning() << "No other member available in this room"; + return {}; + } + return new NeochatRoomMember(this, directChatMembers()[0].id()); } void NeoChatRoom::sendLocation(float lat, float lon, const QString &description) diff --git a/src/neochatroom.h b/src/neochatroom.h index 92481440a..779feb628 100644 --- a/src/neochatroom.h +++ b/src/neochatroom.h @@ -13,6 +13,7 @@ #include #include "enums/pushrule.h" +#include "neochatroommember.h" #include "pollhandler.h" namespace Quotient @@ -74,7 +75,7 @@ class NeoChatRoom : public Quotient::Room /** * @brief Get a RoomMember object for the other person in a direct chat. */ - Q_PROPERTY(Quotient::RoomMember directChatRemoteMember READ directChatRemoteMember CONSTANT) + Q_PROPERTY(NeochatRoomMember *directChatRemoteMember READ directChatRemoteMember CONSTANT) /** * @brief The Matrix IDs of this room's parents. @@ -319,7 +320,7 @@ public: [[nodiscard]] QString avatarMediaId() const; - Quotient::RoomMember directChatRemoteMember() const; + NeochatRoomMember *directChatRemoteMember(); /** * @brief Whether this room has one or more parent spaces set.