diff --git a/src/db/main-db.cpp b/src/db/main-db.cpp index 64b91f58d..7641e9019 100644 --- a/src/db/main-db.cpp +++ b/src/db/main-db.cpp @@ -845,12 +845,20 @@ MainDb::MainDb (const shared_ptr &core) : AbstractDb(*new MainDbPrivate), soci::session *session = dbSession.getBackendSession(); soci::rowset rows = (session->prepare << query, soci::use(chatRoomId)); for (const auto &row : rows) { - shared_ptr eventLog = getEventFromCache(resolveId(row, 0)); + long long eventId = resolveId(row, 0); + shared_ptr eventLog = getEventFromCache(eventId); if (eventLog) { const EventLogPrivate *dEventLog = eventLog->getPrivate(); L_ASSERT(dEventLog->dbKey.isValid()); dEventLog->dbKey = MainDbEventKey(); } + // TODO: Try to add a better code here... + shared_ptr chatMessage = getChatMessageFromCache(eventId); + if (chatMessage) { + const ChatMessagePrivate *dChatMessage = chatMessage->getPrivate(); + L_ASSERT(dChatMessage->dbKey.isValid()); + dChatMessage->dbKey = MainDbChatMessageKey(); + } } }