diff --git a/src/db/main-db.cpp b/src/db/main-db.cpp index 9064db231..6461c7b5c 100644 --- a/src/db/main-db.cpp +++ b/src/db/main-db.cpp @@ -213,8 +213,8 @@ MainDb::MainDb (const shared_ptr &core) : AbstractDb(*new MainDbPrivate), soci::session *session = dbSession.getBackendSession(); const ChatRoomId &chatRoomId = chatRoom->getChatRoomId(); - long long peerSipAddressId = selectSipAddressId(chatRoomId.getPeerAddress().asString()); - long long localSipAddressId = selectSipAddressId(chatRoomId.getLocalAddress().asString()); + long long peerSipAddressId = insertSipAddress(chatRoomId.getPeerAddress().asString()); + long long localSipAddressId = insertSipAddress(chatRoomId.getLocalAddress().asString()); long long id = selectChatRoomId(peerSipAddressId, localSipAddressId); if (id >= 0) { @@ -236,7 +236,7 @@ MainDb::MainDb (const shared_ptr &core) : AbstractDb(*new MainDbPrivate), id = q->getLastInsertId(); for (const auto &participant : chatRoom->getParticipants()) - insertChatRoomParticipant(id, selectSipAddressId(participant->getAddress().asString()), participant->isAdmin()); + insertChatRoomParticipant(id, insertSipAddress(participant->getAddress().asString()), participant->isAdmin()); return id; } @@ -1552,8 +1552,10 @@ MainDb::MainDb (const shared_ptr &core) : AbstractDb(*new MainDbPrivate), capabilities & static_cast(ChatRoom::Capabilities::RealTimeText) ); chatRoom->setSubject(subject); - } else if (capabilities & static_cast(ChatRoom::Capabilities::Conference)) + } else if (capabilities & static_cast(ChatRoom::Capabilities::Conference)) { + chatRoom = make_shared(core, chatRoomId, subject); + } if (!chatRoom) continue; // Not fetched.