From a63b6c76019b84bc5833cf2f9bddea80289b4ba7 Mon Sep 17 00:00:00 2001 From: Benjamin Reis Date: Mon, 27 Nov 2017 15:01:56 +0100 Subject: [PATCH] subscribe when creating a chatroom from db + fix creation of basic chat room from db --- src/chat/chat-room/client-group-chat-room.cpp | 5 +++++ src/db/main-db.cpp | 4 ++++ 2 files changed, 9 insertions(+) diff --git a/src/chat/chat-room/client-group-chat-room.cpp b/src/chat/chat-room/client-group-chat-room.cpp index 9ce0202b2..7371bb27c 100644 --- a/src/chat/chat-room/client-group-chat-room.cpp +++ b/src/chat/chat-room/client-group-chat-room.cpp @@ -107,12 +107,17 @@ ClientGroupChatRoom::ClientGroupChatRoom ( RemoteConference(core, me->getAddress(), nullptr) { L_D(); L_D_T(RemoteConference, dConference); + dConference->focus = make_shared(peerAddress); dConference->conferenceAddress = peerAddress; dConference->subject = subject; dConference->participants = move(participants); + d->state = ChatRoom::State::Created; + getMe()->getPrivate()->setAdmin(me->isAdmin()); + + dConference->eventHandler->subscribe(getChatRoomId()); } shared_ptr ClientGroupChatRoom::getCore () const { diff --git a/src/db/main-db.cpp b/src/db/main-db.cpp index a530c76a0..7231be79c 100644 --- a/src/db/main-db.cpp +++ b/src/db/main-db.cpp @@ -235,6 +235,10 @@ MainDb::MainDb (const shared_ptr &core) : AbstractDb(*new MainDbPrivate), soci::use(static_cast(chatRoom->getCapabilities())), soci::use(chatRoom->getSubject()); id = q->getLastInsertId(); + + if (!chatRoom->canHandleParticipants()) + return id; + shared_ptr me = chatRoom->getMe(); insertChatRoomParticipant(id, insertSipAddress(me->getAddress().asString()), me->isAdmin()); for (const auto &participant : chatRoom->getParticipants())