aboutsummaryrefslogtreecommitdiff
path: root/src
diff options
context:
space:
mode:
Diffstat (limited to 'src')
-rw-r--r--src/Room.cpp13
1 files changed, 8 insertions, 5 deletions
diff --git a/src/Room.cpp b/src/Room.cpp
index a8a8d6a..c7135da 100644
--- a/src/Room.cpp
+++ b/src/Room.cpp
@@ -281,16 +281,19 @@ namespace dchat
{
case RoomDataType::ADD_MESSAGE:
{
- RoomMessage message;
- message.id = *request.requestHash;
- message.creator = user;
- message.timestampSeconds = timestampSeconds;
- message.text = std::string((const char*)request.decryptedData.data + 1, request.decryptedData.size - 1);
+ auto message = std::make_shared<RoomMessage>();
+ message->id = *request.requestHash;
+ message->creator = user;
+ message->timestampSeconds = timestampSeconds;
+ message->text = std::string((const char*)request.decryptedData.data + 1, request.decryptedData.size - 1);
RoomAddMessageRequest roomRequest;
roomRequest.room = room;
roomRequest.loadedFromCache = request.loadedFromCache;
roomRequest.message = std::move(message);
+ roomRequest.prevMessage = nullptr;
+ if(!room->messages.empty())
+ roomRequest.prevMessage = room->messages.back();
if(callbackFuncs.addMessageCallbackFunc)
callbackFuncs.addMessageCallbackFunc(roomRequest);