From 47554237c1653c064a840e420e935a01a3d294a3 Mon Sep 17 00:00:00 2001 From: Ronan Abhamon Date: Thu, 30 Nov 2017 15:57:56 +0100 Subject: [PATCH] feat(MainDb): invalid chat message when event log is not valid --- src/db/main-db.cpp | 10 +++++++++- 1 file changed, 9 insertions(+), 1 deletion(-) 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(); + } } }