diff --git a/src/chat/chat-message.cpp b/src/chat/chat-message.cpp index 618468aa5..70558d927 100644 --- a/src/chat/chat-message.cpp +++ b/src/chat/chat-message.cpp @@ -137,8 +137,12 @@ string ChatMessagePrivate::getSalCustomHeaderValue(const string& name) { const string& ChatMessagePrivate::getContentType() { if (internalContent) { - ContentType contentType = internalContent->getContentType(); - cContentType = contentType.asString(); + cContentType = internalContent->getContentType().asString(); + } else { + if (contents.size() > 0) { + shared_ptr content = contents.front(); + cContentType = content->getContentType().asString(); + } } return cContentType; } @@ -153,6 +157,11 @@ void ChatMessagePrivate::setContentType(const string& contentType) { const string& ChatMessagePrivate::getText() { if (internalContent) { cText = internalContent->getBodyAsString(); + } else { + if (contents.size() > 0) { + shared_ptr content = contents.front(); + cText = content->getBodyAsString(); + } } return cText; } diff --git a/src/chat/chat-room.cpp b/src/chat/chat-room.cpp index ef182ef6b..6b244668d 100644 --- a/src/chat/chat-room.cpp +++ b/src/chat/chat-room.cpp @@ -580,14 +580,10 @@ void ChatRoom::compose () { } shared_ptr ChatRoom::createFileTransferMessage (const LinphoneContent *initialContent) { - L_D(); - shared_ptr chatMessage = createMessage(); chatMessage->getPrivate()->setDirection(ChatMessage::Direction::Outgoing); chatMessage->getPrivate()->setFileTransferInformation(linphone_content_copy(initialContent)); - chatMessage->setToAddress(d->peerAddress); - chatMessage->setFromAddress(linphone_core_get_identity(d->core)); return chatMessage; } @@ -604,8 +600,11 @@ shared_ptr ChatRoom::createMessage (const string &message) { } shared_ptr ChatRoom::createMessage () { + L_D(); shared_ptr chatMessage = make_shared(static_pointer_cast(shared_from_this())); chatMessage->getPrivate()->setTime(ms_time(0)); + chatMessage->setToAddress(d->peerAddress); + chatMessage->setFromAddress(linphone_core_get_identity(d->core)); return chatMessage; }